installed plugin W3 Total Cache
version 2.3.2
This commit is contained in:
wp-content/plugins/w3-total-cache
Base_Page_Settings.phpBrowserCache_ConfigLabels.phpBrowserCache_Core.phpBrowserCache_Environment.phpBrowserCache_Environment_Apache.phpBrowserCache_Environment_LiteSpeed.phpBrowserCache_Environment_Nginx.phpBrowserCache_Page.phpBrowserCache_Page_View_QuickReference.phpBrowserCache_Page_View_SectionSecurity.phpBrowserCache_Plugin.phpBrowserCache_Plugin_Admin.phpCache.phpCacheFlush.phpCacheFlush_Locally.phpCacheGroups_Plugin_Admin.phpCacheGroups_Plugin_Admin_View.jsCacheGroups_Plugin_Admin_View.phpCache_Apc.phpCache_Apcu.phpCache_Base.phpCache_Eaccelerator.phpCache_File.phpCache_File_Cleaner.phpCache_File_Cleaner_Generic.phpCache_File_Cleaner_Generic_HardDelete.phpCache_File_Generic.phpCache_Memcache.phpCache_Memcached.phpCache_Memcached_Stats.phpCache_Nginx_Memcached.phpCache_Redis.phpCache_Wincache.phpCache_Xcache.phpCdnEngine.phpCdnEngine_Azure.phpCdnEngine_Base.phpCdnEngine_CloudFront.phpCdnEngine_Ftp.phpCdnEngine_GoogleDrive.phpCdnEngine_Mirror.phpCdnEngine_Mirror_Akamai.phpCdnEngine_Mirror_Att.phpCdnEngine_Mirror_CloudFront.phpCdnEngine_Mirror_Cotendo.phpCdnEngine_Mirror_Edgecast.phpCdnEngine_Mirror_Highwinds.phpCdnEngine_Mirror_LimeLight.phpCdnEngine_Mirror_RackSpaceCdn.phpCdnEngine_Mirror_StackPath.phpCdnEngine_Mirror_StackPath2.phpCdnEngine_RackSpaceCloudFiles.phpCdnEngine_S3.phpCdnEngine_S3_Compatible.phpCdn_AdminActions.phpCdn_AdminNotes.phpCdn_CacheFlush.phpCdn_ConfigLabels.phpCdn_Core.phpCdn_Core_Admin.phpCdn_Environment.phpCdn_Environment_LiteSpeed.phpCdn_Environment_Nginx.phpCdn_GeneralPage_View.phpCdn_GoogleDrive_AdminActions.phpCdn_GoogleDrive_Page.phpCdn_GoogleDrive_Page_View.jsCdn_GoogleDrive_Page_View.phpCdn_GoogleDrive_Popup_AuthReturn.phpCdn_GoogleDrive_Popup_AuthReturn_View.phpCdn_Highwinds_Api.phpCdn_Highwinds_Page.phpCdn_Highwinds_Page_View.jsCdn_Highwinds_Page_View.phpCdn_Highwinds_Popup.phpCdn_Highwinds_Popup_View_ConfigureCnamesForm.phpCdn_Highwinds_Popup_View_Intro.phpCdn_Highwinds_Popup_View_SelectHost.phpCdn_Highwinds_Widget.phpCdn_Highwinds_Widget_View.cssCdn_Highwinds_Widget_View.jsCdn_Highwinds_Widget_View.phpCdn_Highwinds_Widget_View_NotConfigured.phpCdn_LimeLight_Page.phpCdn_LimeLight_Page_View.jsCdn_LimeLight_Page_View.phpCdn_LimeLight_Popup.phpCdn_LimeLight_Popup_View_Intro.phpCdn_LimeLight_Popup_View_Success.phpCdn_Page.phpCdn_Page_View_Fsd_HeaderActions.phpCdn_Page_View_Header.phpCdn_Plugin.phpCdn_Plugin_Admin.phpCdn_RackSpaceCdn_AdminActions.phpCdn_RackSpaceCdn_Page.phpCdn_RackSpaceCdn_Page_View.jsCdn_RackSpaceCdn_Page_View.phpCdn_RackSpaceCdn_Popup.phpCdn_RackSpaceCdn_Popup_View_ConfigureDomains.phpCdn_RackSpaceCdn_Popup_View_Intro.phpCdn_RackSpaceCdn_Popup_View_Regions.phpCdn_RackSpaceCdn_Popup_View_Service_Actualize.phpCdn_RackSpaceCdn_Popup_View_Service_Create.phpCdn_RackSpaceCdn_Popup_View_Service_Created.phpCdn_RackSpaceCdn_Popup_View_Services.phpCdn_RackSpaceCloudFiles_Page.phpCdn_RackSpaceCloudFiles_Page_View.jsCdn_RackSpaceCloudFiles_Page_View.phpCdn_RackSpaceCloudFiles_Popup.phpCdn_RackSpaceCloudFiles_Popup_View_Containers.phpCdn_RackSpaceCloudFiles_Popup_View_Intro.phpCdn_RackSpaceCloudFiles_Popup_View_Regions.phpCdn_RackSpace_Api_CaCert-example.pemCdn_RackSpace_Api_Cdn.phpCdn_RackSpace_Api_CloudFiles.phpCdn_RackSpace_Api_CloudFilesCdn.phpCdn_RackSpace_Api_Tokens.phpCdn_StackPath2_Api.phpCdn_StackPath2_Page.phpCdn_StackPath2_Page_View.jsCdn_StackPath2_Page_View.phpCdn_StackPath2_Popup.phpCdn_StackPath2_Popup_View_Intro.phpCdn_StackPath2_Popup_View_Sites.phpCdn_StackPath2_Popup_View_Stacks.phpCdn_StackPath2_Popup_View_Success.phpCdn_StackPath2_Widget.phpCdn_StackPath2_Widget_View.cssCdn_StackPath2_Widget_View.jsCdn_StackPath2_Widget_View_Authorized.phpCdn_StackPath2_Widget_View_Unauthorized.phpCdn_StackPath_Api.phpCdn_StackPath_Page.phpCdn_StackPath_Page_View.jsCdn_StackPath_Page_View.phpCdn_StackPath_Popup.phpCdn_StackPath_Popup_View_Intro.phpCdn_StackPath_Popup_View_Success.phpCdn_StackPath_Popup_View_Zone.phpCdn_StackPath_Popup_View_Zones.phpCdn_StackPath_Widget.phpCdn_StackPath_Widget_View.cssCdn_StackPath_Widget_View.jsCdn_StackPath_Widget_View_Authorized.phpCdn_StackPath_Widget_View_Unauthorized.phpCdn_Util.phpCdnfsd_CacheFlush.phpCdnfsd_CloudFront_Engine.phpCdnfsd_CloudFront_Page.phpCdnfsd_CloudFront_Page_View.jsCdnfsd_CloudFront_Page_View.phpCdnfsd_CloudFront_Popup.phpCdnfsd_CloudFront_Popup_View_Distribution.phpCdnfsd_CloudFront_Popup_View_Distributions.phpCdnfsd_CloudFront_Popup_View_Intro.phpCdnfsd_CloudFront_Popup_View_Success.phpCdnfsd_Core.phpCdnfsd_GeneralPage_View.phpCdnfsd_LimeLight_Api.phpCdnfsd_LimeLight_Engine.phpCdnfsd_LimeLight_Page.phpCdnfsd_LimeLight_Page_View.jsCdnfsd_LimeLight_Page_View.phpCdnfsd_LimeLight_Popup.phpCdnfsd_LimeLight_Popup_View_Intro.phpCdnfsd_LimeLight_Popup_View_Success.phpCdnfsd_Page_View_Header.phpCdnfsd_Plugin.phpCdnfsd_Plugin_Admin.phpCdnfsd_StackPath2_Engine.phpCdnfsd_StackPath2_Page.phpCdnfsd_StackPath2_Page_View.jsCdnfsd_StackPath2_Page_View.phpCdnfsd_StackPath2_Popup.phpCdnfsd_StackPath2_Popup_View_Intro.phpCdnfsd_StackPath2_Popup_View_Sites.phpCdnfsd_StackPath2_Popup_View_Stacks.phpCdnfsd_StackPath2_Popup_View_Success.phpCdnfsd_StackPath_Engine.phpCdnfsd_StackPath_Page.phpCdnfsd_StackPath_Page_View.jsCdnfsd_StackPath_Page_View.phpCdnfsd_StackPath_Popup.phpCdnfsd_StackPath_Popup_View_Intro.phpCdnfsd_StackPath_Popup_View_Success.phpCdnfsd_StackPath_Popup_View_Zone.phpCdnfsd_StackPath_Popup_View_Zones.phpCdnfsd_TransparentCDN_Engine.phpCdnfsd_TransparentCDN_Page.phpCdnfsd_TransparentCDN_Page_View.jsCdnfsd_TransparentCDN_Page_View.phpCdnfsd_Util.phpCli.phpConfig.phpConfigCache.phpConfigCompiler.phpConfigDbStorage.phpConfigKeys.phpConfigState.phpConfigStateNote.phpConfigUtil.phpDbCache_ConfigLabels.phpDbCache_Core.phpDbCache_Environment.phpDbCache_Page.phpDbCache_Plugin.phpDbCache_Plugin_Admin.phpDbCache_Wpdb.phpDbCache_WpdbBase.phpDbCache_WpdbInjection.phpDbCache_WpdbInjection_QueryCaching.phpDbCache_WpdbLegacy.phpDbCache_WpdbNew.phpDispatcher.phpEnterprise_CacheFlush_MakeSnsEvent.phpEnterprise_Dbcache_WpdbInjection_Cluster.phpEnterprise_SnsBase.phpEnterprise_SnsServer.phpExtension_Amp_Page_View.phpExtension_Amp_Plugin.phpExtension_Amp_Plugin_Admin.phpExtension_CloudFlare_AdminActions.phpExtension_CloudFlare_Api.phpExtension_CloudFlare_Cdn_Page_View.phpExtension_CloudFlare_GeneralPage_View.phpExtension_CloudFlare_Page.phpExtension_CloudFlare_Page_View.jsExtension_CloudFlare_Page_View.phpExtension_CloudFlare_Plugin.phpExtension_CloudFlare_Plugin_Admin.phpExtension_CloudFlare_Popup.phpExtension_CloudFlare_Popup_View_Intro.phpExtension_CloudFlare_Popup_View_Zones.phpExtension_CloudFlare_SettingsForUi.phpExtension_CloudFlare_View_Dashboard.jsExtension_CloudFlare_Widget.phpExtension_CloudFlare_Widget_Logo.pngExtension_CloudFlare_Widget_View.cssExtension_CloudFlare_Widget_View.phpExtension_FragmentCache_Api.phpExtension_FragmentCache_Core.phpExtension_FragmentCache_Environment.phpExtension_FragmentCache_GeneralPage.phpExtension_FragmentCache_GeneralPage_View.phpExtension_FragmentCache_Page.phpExtension_FragmentCache_Page_View.phpExtension_FragmentCache_Plugin.phpExtension_FragmentCache_Plugin_Admin.phpExtension_FragmentCache_WpObjectCache.phpExtension_Genesis_Page.phpExtension_Genesis_Page_View.phpExtension_Genesis_Plugin.phpExtension_Genesis_Plugin_Admin.phpExtension_ImageService_Api.phpExtension_ImageService_Cron.phpExtension_ImageService_Environment.phpExtension_ImageService_Page_View.phpExtension_ImageService_Plugin.phpExtension_ImageService_Plugin_Admin.cssExtension_ImageService_Plugin_Admin.jsExtension_ImageService_Plugin_Admin.phpExtension_NewRelic_AdminActions.phpExtension_NewRelic_AdminNotes.phpExtension_NewRelic_Api.phpExtension_NewRelic_Core.phpExtension_NewRelic_GeneralPage.phpExtension_NewRelic_GeneralPage_View.phpExtension_NewRelic_Page.phpExtension_NewRelic_Page_View_Apm.phpExtension_NewRelic_Plugin.phpExtension_NewRelic_Plugin_Admin.phpExtension_NewRelic_Popup.phpExtension_NewRelic_Popup_View.jsExtension_NewRelic_Popup_View_Intro.phpExtension_NewRelic_Popup_View_ListApplications.phpExtension_NewRelic_Service.phpExtension_NewRelic_Widget.phpExtension_NewRelic_Widget_View.cssExtension_NewRelic_Widget_View.jsExtension_NewRelic_Widget_View_Apm.phpExtension_NewRelic_Widget_View_Browser.phpExtension_NewRelic_Widget_View_NotConfigured.phpExtension_Swarmify_AdminActions.phpExtension_Swarmify_Core.phpExtension_Swarmify_Page.phpExtension_Swarmify_Page_View.phpExtension_Swarmify_Plugin.phpExtension_Swarmify_Plugin_Admin.phpExtension_Swarmify_Widget.phpExtension_Swarmify_Widget_View.cssExtension_Swarmify_Widget_View_NotConfigured.phpExtension_WordPressSeo_Plugin.phpExtension_WordPressSeo_Plugin_Admin.phpExtension_Wpml_Plugin.phpExtension_Wpml_Plugin_Admin.phpExtensions_AdminActions.phpExtensions_Page.phpExtensions_Plugin_Admin.phpExtensions_Util.phpFeatureShowcase_Plugin_Admin.phpFeatureShowcase_Plugin_Admin_View.phpGeneric_AdminActions_Config.phpGeneric_AdminActions_Default.phpGeneric_AdminActions_Flush.phpGeneric_AdminActions_Test.phpGeneric_AdminNotes.phpGeneric_ConfigLabels.phpGeneric_Environment.phpGeneric_Faq.phpGeneric_GeneralPage_View_ShowEdge.jsGeneric_GeneralPage_View_ShowSupportUs.jsGeneric_Page_About.phpGeneric_Page_Dashboard.phpGeneric_Page_Dashboard_View.cssGeneric_Page_General.phpGeneric_Page_Install.phpGeneric_Page_PurgeLog.phpGeneric_Page_PurgeLog_View.phpGeneric_Plugin.phpGeneric_Plugin_Admin.phpGeneric_Plugin_AdminCompatibility.phpGeneric_Plugin_AdminNotifications.phpGeneric_Plugin_AdminRowActions.phpGeneric_Plugin_Admin_View_Faq.phpGeneric_Plugin_WidgetForum.phpGeneric_Plugin_WidgetNews.phpGeneric_WidgetBoldGrid.phpGeneric_WidgetBoldGrid_AdminActions.phpGeneric_WidgetBoldGrid_Logo.svgGeneric_WidgetBoldGrid_View.jsGeneric_WidgetBoldGrid_View.phpGeneric_WidgetCommunity.phpGeneric_WidgetCommunity_View.phpGeneric_WidgetServices.phpGeneric_WidgetServices_View.phpGeneric_WidgetSpreadTheWord.jsGeneric_WidgetSpreadTheWord_Plugin.phpGeneric_WidgetSpreadTheWord_View.phpLICENSELicensing_AdminActions.phpLicensing_Core.phpLicensing_Plugin_Admin.phpMinify_AutoCss.phpMinify_AutoJs.phpMinify_ConfigLabels.phpMinify_ContentMinifier.phpMinify_Core.phpMinify_Environment.phpMinify_Environment_LiteSpeed.phpMinify_Extract.phpMinify_GeneralPage_View_ShowHelp.jsMinify_GeneralPage_View_ShowHelpForce.jsMinify_HelpPopup_View.phpMinify_MinifiedFileRequestHandler.phpMinify_Page.phpMinify_Plugin.phpMinify_Plugin_Admin.phpMobile_Base.phpMobile_Redirect.phpMobile_Referrer.phpMobile_UserAgent.phpModuleStatus.phpObjectCache_ConfigLabels.phpObjectCache_Environment.phpObjectCache_Page.phpObjectCache_Page_View_PurgeLog.phpObjectCache_Plugin.phpObjectCache_Plugin_Admin.phpObjectCache_WpObjectCache.phpObjectCache_WpObjectCache_Regular.phpPageSpeed_Api.phpPageSpeed_Data.phpPageSpeed_Instructions.phpPageSpeed_Page.phpPageSpeed_Page_View.cssPageSpeed_Page_View.jsPageSpeed_Page_View.phpPageSpeed_Page_View_FromAPI.phpPageSpeed_Widget.phpPageSpeed_Widget_View.cssPageSpeed_Widget_View.jsPageSpeed_Widget_View.phpPageSpeed_Widget_View_FromApi.phpPgCache_ConfigLabels.phpPgCache_ContentGrabber.phpPgCache_Environment.phpPgCache_Flush.phpPgCache_Page.phpPgCache_Plugin.phpPgCache_Plugin_Admin.phpPgCache_QsExempts.phpRoot_AdminActions.phpRoot_AdminActivation.phpRoot_AdminMenu.phpRoot_Environment.phpRoot_Loader.phpSetupGuide_Plugin_Admin.phpSupport_AdminActions.phpSupport_Page.phpSupport_Page_View_DoneContent.phpSupport_Page_View_PageContent.phpSystemOpCache_AdminActions.phpSystemOpCache_Core.phpSystemOpCache_GeneralPage_View.phpSystemOpCache_Plugin_Admin.phpUsageStatistics_AdminActions.phpUsageStatistics_Core.phpUsageStatistics_GeneralPage.phpUsageStatistics_GeneralPage_View.phpUsageStatistics_Page.phpUsageStatistics_Page_DbRequests_View.phpUsageStatistics_Page_ObjectCacheLog_View.phpUsageStatistics_Page_PageCacheRequests_View.phpUsageStatistics_Page_View.cssUsageStatistics_Page_View.jsUsageStatistics_Page_View.phpUsageStatistics_Page_View_Ad.phpUsageStatistics_Page_View_Disabled.phpUsageStatistics_Page_View_Free.phpUsageStatistics_Page_View_NoDebugMode.phpUsageStatistics_Plugin.phpUsageStatistics_Plugin_Admin.phpUsageStatistics_Source_AccessLog.phpUsageStatistics_Source_DbQueriesLog.phpUsageStatistics_Source_ObjectCacheLog.phpUsageStatistics_Source_PageCacheLog.phpUsageStatistics_Source_Wpdb.phpUsageStatistics_Sources.phpUsageStatistics_Sources_Apc.phpUsageStatistics_Sources_Memcached.phpUsageStatistics_Sources_Redis.phpUsageStatistics_StorageReader.phpUsageStatistics_StorageWriter.phpUsageStatistics_Widget.phpUsageStatistics_Widget_View.jsUsageStatistics_Widget_View.phpUsageStatistics_Widget_View_Disabled.phpUserExperience_Emoji_Extension.phpUserExperience_GeneralPage.phpUserExperience_GeneralPage_View.phpUserExperience_LazyLoad_GoogleMaps_GoogleMapsEasy.phpUserExperience_LazyLoad_GoogleMaps_WPGoogleMapPlugin.phpUserExperience_LazyLoad_GoogleMaps_WPGoogleMaps.phpUserExperience_LazyLoad_Mutator.phpUserExperience_LazyLoad_Mutator_Picture.phpUserExperience_LazyLoad_Mutator_Unmutable.phpUserExperience_LazyLoad_Page_View.phpUserExperience_LazyLoad_Plugin.phpUserExperience_OEmbed_Extension.phpUserExperience_Page.phpUserExperience_Page_View.phpUserExperience_Plugin_Admin.phpUserExperience_Plugin_Jquery.phpUtil_Activation.phpUtil_Admin.phpUtil_AttachToActions.phpUtil_Bus.phpUtil_ConfigLabel.phpUtil_Content.phpUtil_Debug.phpUtil_DebugPurgeLog_Reader.phpUtil_Environment.phpUtil_Environment_Exception.phpUtil_Environment_Exceptions.phpUtil_File.phpUtil_Http.phpUtil_Installed.phpUtil_Mime.phpUtil_PageSpeed.phpUtil_PageUrls.phpUtil_Request.phpUtil_Rule.phpUtil_Theme.phpUtil_Ui.phpUtil_UsageStatistics.phpUtil_Widget.phpUtil_WpFile.phpUtil_WpFile_FilesystemChmodException.phpUtil_WpFile_FilesystemCopyException.phpUtil_WpFile_FilesystemMkdirException.phpUtil_WpFile_FilesystemModifyException.phpUtil_WpFile_FilesystemOperationException.phpUtil_WpFile_FilesystemRmException.phpUtil_WpFile_FilesystemRmdirException.phpUtil_WpFile_FilesystemWriteException.phpUtil_WpmuBlogmap.phpVarnish_Flush.phpVarnish_Plugin.phppress.txtreadme.txt
extension-example
Extension_Example.phpExtension_Example_Admin.phpExtension_Example_Page_View.phpw3-total-cache-example.php
inc
define.php
index.htmlemail
error.phpindex.htmllightbox
mime
options
about.phpbrowsercache.phpcdn.php
cdn
akamai.phpatt.phpazure.phpcf.phpcf2.php
common
cotendo.phpedgecast.phpftp.phpindex.htmlmirror.phprscf.phps3.phps3_compatible.phpcommon
dashboard.phpdbcache.phpedd
enterprise
extensions.phpextensions
general.phpindex.htmlinstall.phpminify.phpminify
ccjs.phpccjs2.phpcss.phpcsstidy.phpcsstidy2.phpgoogleccjs2.phphtml.phphtmltidy.phphtmltidy2.phpindex.htmljs.phpyuicss2.phpyuijs.phpyuijs2.php
objectcache.phpparts
pgcache.phpsupport.phppopup
cdn_export_file.phpcdn_export_library.phpcdn_import_library.phpcdn_purge.phpcdn_queue.phpcdn_rename_domain.php
common
index.htmlwidget
index.htmllatest.phplatest_ajax.phplatest_control.phplatest_news.phplatest_news_ajax.phplatest_news_control.php
wizard
ini
apache_conf
apc.iniconfig-db-sample.phpdbcluster-config-sample.phpeaccelerator.iniindex.htmlmemcache.ininginx-network-sample-config.confnginx-standalone-sample-config.confopcache.iniphp.append.inis3-sample-policy.txtvarnish-sample-config.vclweb.configxcache.inilanguages
lib
Azure
GuzzleHttp
Client.phpClientInterface.php
Cookie
Exception
BadResponseException.phpClientException.phpConnectException.phpGuzzleException.phpRequestException.phpSeekException.phpServerException.phpTooManyRedirectsException.phpTransferException.php
Handler
CurlFactory.phpCurlFactoryInterface.phpCurlHandler.phpCurlMultiHandler.phpEasyHandle.phpMockHandler.phpProxy.phpStreamHandler.php
HandlerStack.phpMessageFormatter.phpMiddleware.phpPool.phpPrepareBodyMiddleware.phpPromise
AggregateException.phpCancellationException.phpCoroutine.phpEachPromise.phpFulfilledPromise.phpPromise.phpPromiseInterface.phpPromisorInterface.phpRejectedPromise.phpRejectionException.phpTaskQueue.phpTaskQueueInterface.phpfunctions.phpfunctions_include.php
Psr7
AppendStream.phpBufferStream.phpCachingStream.phpDroppingStream.phpFnStream.phpInflateStream.phpLazyOpenStream.phpLimitStream.phpMessageTrait.phpMultipartStream.phpNoSeekStream.phpPumpStream.phpRequest.phpResponse.phpServerRequest.phpStream.phpStreamDecoratorTrait.phpStreamWrapper.phpUploadedFile.phpUri.phpfunctions.phpfunctions_include.php
RedirectMiddleware.phpRequestOptions.phpRetryMiddleware.phpTransferStats.phpUriTemplate.phpfunctions.phpfunctions_include.phpMicrosoftAzureStorage
Blob
BlobRestProxy.php
Internal
Models
AccessCondition.phpAccessPolicy.phpAcquireLeaseOptions.phpAcquireLeaseResult.phpBlob.phpBlobBlockType.phpBlobPrefix.phpBlobProperties.phpBlobServiceOptions.phpBlobType.phpBlock.phpBlockList.phpBreakLeaseResult.phpCommitBlobBlocksOptions.phpContainer.phpContainerACL.phpContainerProperties.phpCopyBlobOptions.phpCopyBlobResult.phpCreateBlobBlockOptions.phpCreateBlobOptions.phpCreateBlobPagesOptions.phpCreateBlobPagesResult.phpCreateBlobSnapshotOptions.phpCreateBlobSnapshotResult.phpCreateContainerOptions.phpDeleteBlobOptions.phpDeleteContainerOptions.phpGetBlobMetadataOptions.phpGetBlobMetadataResult.phpGetBlobOptions.phpGetBlobPropertiesOptions.phpGetBlobPropertiesResult.phpGetBlobResult.phpGetContainerACLResult.phpGetContainerPropertiesResult.phpLeaseMode.phpListBlobBlocksOptions.phpListBlobBlocksResult.phpListBlobsOptions.phpListBlobsResult.phpListContainersOptions.phpListContainersResult.phpListPageBlobRangesOptions.phpListPageBlobRangesResult.phpPageRange.phpPageWriteOption.phpPublicAccessType.phpSetBlobMetadataOptions.phpSetBlobMetadataResult.phpSetBlobPropertiesOptions.phpSetBlobPropertiesResult.phpSetContainerMetadataOptions.phpSignedIdentifier.php
Common
CloudConfigurationManager.php
Internal
Authentication
ConnectionStringParser.phpConnectionStringSource.phpFilterableService.phpFilters
AuthenticationFilter.phpDateFilter.phpExponentialRetryPolicy.phpHeadersFilter.phpRetryPolicy.phpRetryPolicyFilter.php
Http
HttpFormatter.phpIServiceFilter.phpInvalidArgumentTypeException.phpLogger.phpResources.phpRestProxy.phpRetryMiddlewareFactory.phpSerialization
ServiceRestProxy.phpServiceSettings.phpStorageServiceSettings.phpUtilities.phpValidate.phpModels
ServiceException.phpServicesBuilder.phpPsrHttpMessage
MessageInterface.phpRequestInterface.phpResponseInterface.phpServerRequestInterface.phpStreamInterface.phpUploadedFileInterface.phpUriInterface.php
loader.phpCSSTidy
Db
Google
Auth
Cache
Client.phpCollection.phpConfig.phpException.phpHttp
IO
Model.phpService.phpService
Signer
Utils.phpUtils
Verifier
Minify
HTTP
JSMin.phpJSMinPlus.phpMinify.phpMinify
Build.phpCSS.php
index.htmlCSS
CSSTidy.phpCache
ClosureCompiler.phpCombineOnly.phpCommentPreserver.phpController
DebugDetector.phpHTML.phpHTML
HTMLTidy.phpIgnoredCommentPreserver.phpImportProcessor.phpInline.phpInline
JS
Lines.phpLogger.phpPacker.phpSource.phpYUI
YUICompressor.phpindex.htmlNetDNA
NewRelic
Nusoap
class.nusoap_base.phpclass.soap_fault.phpclass.soap_parser.phpclass.soap_transport_http.phpclass.soap_val.phpclass.soapclient.phpclass.wsdl.phpclass.wsdlcache.phpclass.xmlschema.phpindex.htmlnusoap.php
OAuth
S3Compatible.phpSNS
YuiCssMin
index.htmlpub
css
error.cssfeature-counter.cssfeature-showcase.cssindex.htmllightbox.cssoptions.csspopup.csssetup-guide.csswidget.csswizard.css
fonts
img
W3TC_dashboard_logo_title-retina.pngW3TC_dashboard_logo_title.pngbutton-grad-active.pngbutton-grad.pngcdn-highwinds-logo.pngclose.pnggoogle-logo.pngindex.htmlmoon-bottom-left.pngmoon-bottom-right.pngopen.png
index.htmloverlay
ceo.pnggauge-bg-tp.pnggray-check.pnglite-gray-check.pnglock.pngoverlay-close.pngoverlay-down-arrow.pngoverlay-logo.pngsave-close.pngselect-arrow.pngtwitter-bird-dark-bgs.pngwordpress-logo-simplified-rgb.png
ps_bar.gifps_grad.gifps_scores.pngsidebar-background.pngstats-bg.pngtransparent-comet-moon.pngtransparent-comet.pngusage-statistics-widget.pngw3tc_cube-shadow.pngw3tc_google-logo-retina.pngw3tc_google-logo.pngw3tc_netdna-logo-retina.pngw3tc_netdna-logo.pngw3tc_newrelic-logo-retina.pngw3tc_newrelic-logo.pngw3tc_stackpath_logo.svgw3tc_swarmify-logo-retina.pngw3tc_swarmify-logo.pngw3tc_w3edge-logo-retina.pngw3tc_w3edge-logo.pngw3tc_w3tc-logo-retina.pngw3tc_w3tc-logo.pngwhite-grad-active.pngwhite-grad.pngwpspin_light.gifjs
chartjs.min.jsfeature-counter.jsindex.htmljquery.masonry.min.jslazyload.min.jslazyload.version.txtlightbox.jsmetadata.jsoptions-validator.jsoptions.jspopup.jssetup-guide.jswidget.jswizard.js
sns.phpvendor
autoload.php
w3-total-cache-api.phpw3-total-cache-old-php.phpw3-total-cache.phpaws
aws-php-sns-message-validator
.github
.travis.ymlCODE_OF_CONDUCT.mdCONTRIBUTING.mdLICENSE.mdNOTICE.mdREADME.mdcomposer.jsonphpunit.xml.distsrc
tests
aws-sdk-php
CODE_OF_CONDUCT.mdLICENSE.mdNOTICE.mdcomposer.jsonaliases.json.phpendpoints.json.phpendpoints_prefix_history.json.phpmanifest.json.php
src
ACMPCA
AbstractConfigurationProvider.phpAccessAnalyzer
Acm
AlexaForBusiness
Amplify
AmplifyBackend
Api
AbstractModel.phpApiProvider.phpDateTimeResult.phpDocModel.php
ErrorParser
AbstractErrorParser.phpJsonParserTrait.phpJsonRpcErrorParser.phpRestJsonErrorParser.phpXmlErrorParser.php
ListShape.phpMapShape.phpOperation.phpParser
AbstractParser.phpAbstractRestParser.phpCrc32ValidatingParser.phpDecodingEventStreamIterator.phpEventParsingIterator.php
Exception
JsonParser.phpJsonRpcParser.phpMetadataParserTrait.phpPayloadParserTrait.phpQueryParser.phpRestJsonParser.phpRestXmlParser.phpXmlParser.phpSerializer
Ec2ParamBuilder.phpJsonBody.phpJsonRpcSerializer.phpQueryParamBuilder.phpQuerySerializer.phpRestJsonSerializer.phpRestSerializer.phpRestXmlSerializer.phpXmlBody.php
Service.phpShape.phpShapeMap.phpStructureShape.phpTimestampShape.phpValidator.phpApiGateway
ApiGatewayManagementApi
ApiGatewayV2
AppConfig
AppIntegrationsService
AppMesh
AppRegistry
AppRunner
AppSync
Appflow
ApplicationAutoScaling
ApplicationCostProfiler
ApplicationDiscoveryService
ApplicationInsights
Appstream
Arn
AccessPointArn.phpAccessPointArnInterface.phpArn.phpArnInterface.phpArnParser.php
Exception
ObjectLambdaAccessPointArn.phpResourceTypeAndIdTrait.phpS3
Athena
AuditManager
AugmentedAIRuntime
AutoScaling
AutoScalingPlans
AwsClient.phpAwsClientInterface.phpAwsClientTrait.phpBackup
Batch
Braket
Budgets
CacheInterface.phpChime
ClientResolver.phpClientSideMonitoring
AbstractMonitoringMiddleware.phpApiCallAttemptMonitoringMiddleware.phpApiCallMonitoringMiddleware.phpConfiguration.phpConfigurationInterface.phpConfigurationProvider.php
Exception
MonitoringMiddlewareInterface.phpCloud9
CloudDirectory
CloudFormation
CloudFront
CloudHSMV2
CloudHsm
CloudSearch
CloudSearchDomain
CloudTrail
CloudWatch
CloudWatchEvents
CloudWatchLogs
CodeArtifact
CodeBuild
CodeCommit
CodeDeploy
CodeGuruProfiler
CodeGuruReviewer
CodePipeline
CodeStar
CodeStarNotifications
CodeStarconnections
CognitoIdentity
CognitoIdentityProvider
CognitoSync
Command.phpCommandInterface.phpCommandPool.phpComprehend
ComprehendMedical
ComputeOptimizer
ConfigService
ConfigurationProviderInterface.phpConnect
ConnectContactLens
ConnectParticipant
CostExplorer
CostandUsageReportService
Credentials
AssumeRoleCredentialProvider.phpAssumeRoleWithWebIdentityCredentialProvider.phpCredentialProvider.phpCredentials.phpCredentialsInterface.phpEcsCredentialProvider.phpInstanceProfileProvider.php
Crypto
AbstractCryptoClient.phpAbstractCryptoClientV2.phpAesDecryptingStream.phpAesEncryptingStream.phpAesGcmDecryptingStream.phpAesGcmEncryptingStream.phpAesStreamInterface.phpAesStreamInterfaceV2.php
Cipher
DecryptionTrait.phpDecryptionTraitV2.phpEncryptionTrait.phpEncryptionTraitV2.phpKmsMaterialsProvider.phpKmsMaterialsProviderV2.phpMaterialsProvider.phpMaterialsProviderInterface.phpMaterialsProviderInterfaceV2.phpMaterialsProviderV2.phpMetadataEnvelope.phpMetadataStrategyInterface.phpPolyfill
CustomerProfiles
DAX
DLM
DataExchange
DataPipeline
DataSync
DatabaseMigrationService
Detective
DevOpsGuru
DeviceFarm
DirectConnect
DirectoryService
DocDB
DoctrineCacheAdapter.phpDynamoDb
BinaryValue.phpDynamoDbClient.php
Exception
LockingSessionConnection.phpMarshaler.phpNumberValue.phpSessionConnectionConfigTrait.phpSessionConnectionInterface.phpSessionHandler.phpSetValue.phpStandardSessionConnection.phpWriteRequestBatch.phpDynamoDbStreams
EBS
EC2InstanceConnect
ECRPublic
EKS
EMRContainers
Ec2
Ecr
Ecs
Efs
ElastiCache
ElasticBeanstalk
ElasticInference
ElasticLoadBalancing
ElasticLoadBalancingV2
ElasticTranscoder
ElasticsearchService
Emr
Endpoint
EndpointProvider.phpPartition.phpPartitionEndpointProvider.phpPartitionInterface.phpPatternEndpointProvider.php
EndpointDiscovery
Configuration.phpConfigurationInterface.phpConfigurationProvider.phpEndpointDiscoveryMiddleware.phpEndpointList.php
EndpointParameterMiddleware.phpException
EventBridge
Exception
AwsException.phpCouldNotCreateChecksumException.phpCredentialsException.phpCryptoException.phpCryptoPolyfillException.phpEventStreamDataException.phpIncalculablePayloadException.phpInvalidJsonException.phpInvalidRegionException.phpMultipartUploadException.phpUnresolvedApiException.phpUnresolvedEndpointException.phpUnresolvedSignatureException.php
FIS
FMS
FSx
FinSpaceData
Firehose
ForecastQueryService
ForecastService
FraudDetector
GameLift
Glacier
GlobalAccelerator
Glue
GlueDataBrew
Greengrass
GreengrassV2
GroundStation
GuardDuty
Handler
HandlerList.phpHasDataTrait.phpHasMonitoringEventsTrait.phpHashInterface.phpHashingStream.phpHealth
HealthLake
History.phpHoneycode
IVS
Iam
IdempotencyTokenMiddleware.phpIdentityStore
ImportExport
InputValidationMiddleware.phpInspector
IoT1ClickDevicesService
IoT1ClickProjects
IoTAnalytics
IoTDeviceAdvisor
IoTEvents
IoTEventsData
IoTFleetHub
IoTJobsDataPlane
IoTSecureTunneling
IoTSiteWise
IoTThingsGraph
IoTWireless
Iot
IotDataPlane
JsonCompiler.phpKafka
Kinesis
KinesisAnalytics
KinesisAnalyticsV2
KinesisVideo
KinesisVideoArchivedMedia
KinesisVideoMedia
KinesisVideoSignalingChannels
Kms
LakeFormation
Lambda
LexModelBuildingService
LexModelsV2
LexRuntimeService
LexRuntimeV2
LicenseManager
Lightsail
LocationService
LookoutEquipment
LookoutMetrics
LookoutforVision
LruArrayCache.phpMQ
MTurk
MWAA
MachineLearning
Macie
Macie2
ManagedBlockchain
MarketplaceCatalog
MarketplaceCommerceAnalytics
MarketplaceEntitlementService
MarketplaceMetering
MediaConnect
MediaConvert
MediaLive
MediaPackage
MediaPackageVod
MediaStore
MediaStoreData
MediaTailor
Middleware.phpMigrationHub
MigrationHubConfig
Mobile
MockHandler.phpMonitoringEventsInterface.phpMultiRegionClient.phpMultipart
Neptune
NetworkFirewall
NetworkManager
NimbleStudio
OpsWorks
OpsWorksCM
Organizations
Outposts
PI
Personalize
PersonalizeEvents
PersonalizeRuntime
PhpHash.phpPinpoint
PinpointEmail
PinpointSMSVoice
Polly
PresignUrlMiddleware.phpPricing
PrometheusService
Psr16CacheAdapter.phpPsrCacheAdapter.phpQLDB
QLDBSession
QuickSight
RAM
RDSDataService
Rds
Redshift
RedshiftDataAPIService
Rekognition
ResourceGroups
ResourceGroupsTaggingAPI
ResponseContainerInterface.phpResult.phpResultInterface.phpResultPaginator.phpRetry
Configuration.phpConfigurationInterface.phpConfigurationProvider.php
RetryMiddleware.phpRetryMiddlewareV2.phpException
QuotaManager.phpRateLimiter.phpRetryHelperTrait.phpRoboMaker
Route53
Route53Domains
Route53Resolver
S3
AmbiguousSuccessParser.phpApplyChecksumMiddleware.phpBatchDelete.phpBucketEndpointArnMiddleware.phpBucketEndpointMiddleware.php
Crypto
CryptoParamsTrait.phpCryptoParamsTraitV2.phpHeadersMetadataStrategy.phpInstructionFileMetadataStrategy.phpS3EncryptionClient.phpS3EncryptionClientV2.phpS3EncryptionMultipartUploader.phpS3EncryptionMultipartUploaderV2.phpUserAgentTrait.php
EndpointRegionHelperTrait.phpException
DeleteMultipleObjectsException.phpPermanentRedirectException.phpS3Exception.phpS3MultipartUploadException.php
GetBucketLocationParser.phpMultipartCopy.phpMultipartUploader.phpMultipartUploadingTrait.phpObjectCopier.phpObjectUploader.phpPermanentRedirectMiddleware.phpPostObject.phpPostObjectV4.phpPutObjectUrlMiddleware.phpRegionalEndpoint
RetryableMalformedResponseParser.phpS3Client.phpS3ClientInterface.phpS3ClientTrait.phpS3EndpointMiddleware.phpS3MultiRegionClient.phpS3UriParser.phpSSECMiddleware.phpStreamWrapper.phpTransfer.phpUseArnRegion
S3Control
S3Outposts
SSMContacts
SSMIncidents
SSO
SSOAdmin
SSOOIDC
SageMaker
SageMakerFeatureStoreRuntime
SageMakerRuntime
SagemakerEdgeManager
SavingsPlans
Schemas
Sdk.phpSecretsManager
SecurityHub
ServerlessApplicationRepository
ServiceCatalog
ServiceDiscovery
ServiceQuotas
Ses
SesV2
Sfn
Shield
Signature
AnonymousSignature.phpS3SignatureV4.phpSignatureInterface.phpSignatureProvider.phpSignatureTrait.phpSignatureV4.php
Sms
SnowBall
Sns
Sqs
Ssm
StorageGateway
StreamRequestPayloadMiddleware.phpSts
Exception
RegionalEndpoints
StsClient.phpSupport
Swf
Synthetics
Textract
TimestreamQuery
TimestreamWrite
TraceMiddleware.phpTranscribeService
Transfer
Translate
WAFV2
Waf
WafRegional
Waiter.phpWellArchitected
WorkDocs
WorkLink
WorkMail
WorkMailMessageFlow
WorkSpaces
WrappedHttpHandler.phpXRay
data
accessanalyzer
2019-11-01
acm-pca
acm
alexaforbusiness
2017-11-09
amp
2020-08-01
amplify
2017-07-25
amplifybackend
2020-08-11
apigateway
apigatewaymanagementapi
2018-11-29
apigatewayv2
2018-11-29
appconfig
2019-10-09
appflow
2020-08-23
appintegrations
2020-07-29
application-autoscaling
application-insights
2018-11-25
applicationcostprofiler
2020-09-10
appmesh
apprunner
2020-05-15
appstream
appsync
2017-07-25
athena
auditmanager
2017-07-25
autoscaling-plans
2018-01-06
autoscaling
backup
2018-11-15
batch
braket
2019-09-01
budgets
2016-10-20
ce
2017-10-25
chime
2018-05-01
cloud9
2017-09-23
clouddirectory
cloudformation
cloudfront
2015-07-27
2016-01-28
2016-08-01
2016-08-20
2016-09-07
2016-09-29
2016-11-25
2017-03-25
2017-10-30
2018-06-18
2018-11-05
2019-03-26
2020-05-31
cloudhsm
2014-05-30
cloudhsmv2
cloudsearch
cloudsearchdomain
2013-01-01
cloudtrail
codeartifact
2018-09-22
codebuild
codecommit
codedeploy
codeguru-reviewer
2019-09-19
codeguruprofiler
2019-07-18
codepipeline
codestar-connections
2019-12-01
codestar-notifications
2019-10-15
codestar
cognito-identity
cognito-idp
cognito-sync
comprehend
2017-11-27
comprehendmedical
2018-10-30
compute-optimizer
2019-11-01
config
connect-contact-lens
2020-08-21
connect
2017-08-08
connectparticipant
2018-09-07
cur
customer-profiles
2020-08-15
data.iot
databrew
2017-07-25
dataexchange
2017-07-25
datapipeline
2012-10-29
datasync
2018-11-09
dax
2017-04-19
detective
2018-10-26
devicefarm
devops-guru
2020-12-01
directconnect
discovery
dlm
2018-01-12
dms
docdb
ds
dynamodb
2011-12-05
2012-08-10
ebs
2019-11-02
ec2-instance-connect
2018-04-02
ec2
2015-10-01
2016-04-01
2016-09-15
2016-11-15
ecr-public
2020-10-30
ecr
ecs
eks
elastic-inference
2017-07-25
elasticache
elasticbeanstalk
elasticfilesystem
elasticloadbalancing
elasticloadbalancingv2
elasticmapreduce
elastictranscoder
email
emr-containers
2020-10-01
entitlement.marketplace
2017-01-11
es
eventbridge
events
finspace-data
2020-07-13
finspace
2021-03-12
firehose
fis
2020-12-01
fms
2018-01-01
forecast
2018-06-26
forecastquery
2018-06-26
frauddetector
2019-11-15
fsx
2018-03-01
gamelift
glacier
globalaccelerator
2018-08-08
glue
greengrass
2017-06-07
greengrassv2
2020-11-30
groundstation
2019-05-23
guardduty
2017-11-28
health
2016-08-04
healthlake
2017-07-01
honeycode
2020-03-01
iam
identitystore
2020-06-15
imagebuilder
2019-12-02
importexport
2010-06-01
inspector
iot-jobs-data
2017-09-29
iot
iot1click-devices
2018-05-14
iot1click-projects
2018-05-14
iotanalytics
2017-11-27
iotdeviceadvisor
2020-09-18
iotevents-data
2018-10-23
iotevents
2018-07-27
iotfleethub
2020-11-03
iotsecuretunneling
2018-10-05
iotsitewise
iotthingsgraph
2018-09-06
iotwireless
2020-11-22
ivs
2020-07-14
kafka
2018-11-14
kendra
2019-02-03
kinesis-video-archived-media
2017-09-30
kinesis-video-media
2017-09-30
kinesis-video-signaling
2019-12-04
kinesis
kinesisanalytics
2015-08-14
kinesisanalyticsv2
2018-05-23
kinesisvideo
2017-09-30
kms
lakeformation
2017-03-31
lambda
lex-models
2017-04-19
license-manager
2018-08-01
lightsail
location
2020-11-19
logs
lookoutequipment
2020-12-15
lookoutmetrics
2017-07-25
lookoutvision
2020-11-20
machinelearning
macie
2017-12-19
macie2
2020-01-01
managedblockchain
2018-09-24
marketplace-catalog
2018-09-17
marketplacecommerceanalytics
mediaconnect
mediaconvert
2017-08-29
medialive
mediapackage-vod
2018-11-07
mediapackage
2017-10-12
mediastore-data
2017-09-01
mediastore
2017-09-01
mediatailor
2018-04-23
metering.marketplace
2016-01-14
mgh
2017-05-31
mgn
2020-02-26
migrationhub-config
2019-06-30
mobile
2017-07-01
models.lex.v2
2020-08-07
monitoring
mq
2017-11-27
mturk-requester
mwaa
2020-07-01
neptune
network-firewall
2020-11-12
networkmanager
2019-07-05
nimble
2020-08-01
opsworks
opsworkscm
organizations
2016-11-28
outposts
2019-12-03
personalize-events
2018-03-22
personalize-runtime
2018-05-22
personalize
2018-05-22
pi
2018-02-27
pinpoint-email
2018-07-26
pinpoint
2016-12-01
polly
pricing
2017-10-15
qldb-session
2019-07-11
qldb
2019-01-02
quicksight
2018-04-01
ram
2018-01-04
rds-data
2018-08-01
rds
2014-09-01
2014-10-31
redshift-data
2019-12-20
redshift
rekognition
resource-groups
2017-11-27
resourcegroupstaggingapi
2017-01-26
robomaker
2018-06-29
route53
route53domains
route53resolver
runtime.lex.v2
2020-08-07
runtime.lex
2016-11-28
runtime.sagemaker
2017-05-13
s3
s3control
2018-08-20
s3outposts
2017-07-25
sagemaker-a2i-runtime
2019-11-07
sagemaker-edge
2020-09-23
sagemaker-featurestore-runtime
2020-07-01
sagemaker
savingsplans
2019-06-28
schemas
secretsmanager
securityhub
2018-10-26
serverlessrepo
2017-09-08
service-quotas
2019-06-24
servicecatalog-appregistry
2020-06-24
servicecatalog
servicediscovery
2017-03-14
sesv2
2019-09-27
shield
signer
sms-voice
2018-09-05
sms
snowball
sns
sqs
ssm-contacts
2021-05-03
ssm-incidents
ssm
sso-admin
2020-07-20
sso-oidc
2019-06-10
sso
2019-06-10
states
storagegateway
2013-06-30
streams.dynamodb
2012-08-10
sts
support
swf
2012-01-25
synthetics
2017-10-11
textract
2018-06-27
timestream-query
2018-11-01
timestream-write
2018-11-01
transcribe
2017-10-26
transfer
2018-11-05
translate
2017-07-01
waf-regional
waf
wafv2
wellarchitected
2020-03-31
workdocs
2016-05-01
worklink
2018-09-25
workmail
2017-10-01
workmailmessageflow
2019-05-01
workspaces
xray
2016-04-12
finspace
functions.phpimagebuilder
kendra
mgn
signer
bin
composer
ClassLoader.phpLICENSEautoload_classmap.phpautoload_files.phpautoload_namespaces.phpautoload_psr4.phpautoload_real.phpautoload_static.phpinstalled.json
guzzlehttp
guzzle
.php_csCHANGELOG.mdDockerfileLICENSEREADME.mdUPGRADING.mdcomposer.json
src
Client.phpClientInterface.php
Cookie
Exception
BadResponseException.phpClientException.phpConnectException.phpGuzzleException.phpInvalidArgumentException.phpRequestException.phpSeekException.phpServerException.phpTooManyRedirectsException.phpTransferException.php
Handler
CurlFactory.phpCurlFactoryInterface.phpCurlHandler.phpCurlMultiHandler.phpEasyHandle.phpMockHandler.phpProxy.phpStreamHandler.php
HandlerStack.phpMessageFormatter.phpMiddleware.phpPool.phpPrepareBodyMiddleware.phpRedirectMiddleware.phpRequestOptions.phpRetryMiddleware.phpTransferStats.phpUriTemplate.phpUtils.phpfunctions.phpfunctions_include.phppromises
psr7
.github
.php_cs.distCHANGELOG.mdLICENSEREADME.mdcomposer.jsonsrc
AppendStream.phpBufferStream.phpCachingStream.phpDroppingStream.phpFnStream.phpHeader.phpInflateStream.phpLazyOpenStream.phpLimitStream.phpMessage.phpMessageTrait.phpMimeType.phpMultipartStream.phpNoSeekStream.phpPumpStream.phpQuery.phpRequest.phpResponse.phpRfc7230.phpServerRequest.phpStream.phpStreamDecoratorTrait.phpStreamWrapper.phpUploadedFile.phpUri.phpUriComparator.phpUriNormalizer.phpUriResolver.phpUtils.phpfunctions.phpfunctions_include.php
mtdowling
jmespath.php
psr
http-message
ralouphie
getallheaders
symfony
polyfill-intl-idn
polyfill-intl-normalizer
wp-content
656
wp-content/plugins/w3-total-cache/lib/Google/Client.php
Normal file
656
wp-content/plugins/w3-total-cache/lib/Google/Client.php
Normal file
@ -0,0 +1,656 @@
|
||||
<?php
|
||||
/*
|
||||
* Copyright 2010 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.
|
||||
*/
|
||||
|
||||
/**
|
||||
* The Google API Client
|
||||
* http://code.google.com/p/google-api-php-client/
|
||||
*
|
||||
* @author Chris Chabot <chabotc@google.com>
|
||||
* @author Chirag Shah <chirags@google.com>
|
||||
*/
|
||||
class W3TCG_Google_Client
|
||||
{
|
||||
const LIBVER = "1.1.0-beta";
|
||||
const USER_AGENT_SUFFIX = "google-api-php-client/";
|
||||
/**
|
||||
* @var W3TCG_Google_Auth_Abstract $auth
|
||||
*/
|
||||
private $auth;
|
||||
|
||||
/**
|
||||
* @var W3TCG_Google_IO_Abstract $io
|
||||
*/
|
||||
private $io;
|
||||
|
||||
/**
|
||||
* @var W3TCG_Google_Cache_Abstract $cache
|
||||
*/
|
||||
private $cache;
|
||||
|
||||
/**
|
||||
* @var W3TCG_Google_Config $config
|
||||
*/
|
||||
private $config;
|
||||
|
||||
/**
|
||||
* @var boolean $deferExecution
|
||||
*/
|
||||
private $deferExecution = false;
|
||||
|
||||
/** @var array $scopes */
|
||||
// Scopes requested by the client
|
||||
protected $requestedScopes = array();
|
||||
|
||||
// definitions of services that are discovered.
|
||||
protected $services = array();
|
||||
|
||||
// Used to track authenticated state, can't discover services after doing authenticate()
|
||||
private $authenticated = false;
|
||||
|
||||
/**
|
||||
* Construct the Google Client.
|
||||
*
|
||||
* @param $config W3TCG_Google_Config or string for the ini file to load
|
||||
*/
|
||||
public function __construct($config = null)
|
||||
{
|
||||
if (is_string($config) && strlen($config)) {
|
||||
$config = new W3TCG_Google_Config($config);
|
||||
} else if ( !($config instanceof W3TCG_Google_Config)) {
|
||||
$config = new W3TCG_Google_Config();
|
||||
|
||||
if ($this->isAppEngine()) {
|
||||
// Automatically use Memcache if we're in AppEngine.
|
||||
$config->setCacheClass('W3TCG_Google_Cache_Memcache');
|
||||
}
|
||||
|
||||
if (version_compare(phpversion(), "5.3.4", "<=") || $this->isAppEngine()) {
|
||||
// Automatically disable compress.zlib, as currently unsupported.
|
||||
$config->setClassConfig('W3TCG_Google_Http_Request', 'disable_gzip', true);
|
||||
}
|
||||
}
|
||||
|
||||
if ($config->getIoClass() == W3TCG_Google_Config::USE_AUTO_IO_SELECTION) {
|
||||
if (function_exists('curl_version') && function_exists('curl_exec')) {
|
||||
$config->setIoClass("W3TCG_Google_IO_Curl");
|
||||
} else {
|
||||
$config->setIoClass("W3TCG_Google_IO_Stream");
|
||||
}
|
||||
}
|
||||
|
||||
$this->config = $config;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get a string containing the version of the library.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function getLibraryVersion()
|
||||
{
|
||||
return self::LIBVER;
|
||||
}
|
||||
|
||||
/**
|
||||
* 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 string token
|
||||
*/
|
||||
public function authenticate($code)
|
||||
{
|
||||
$this->authenticated = true;
|
||||
return $this->getAuth()->authenticate($code);
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the auth config from the JSON string provided.
|
||||
* This structure should match the file downloaded from
|
||||
* the "Download JSON" button on in the Google Developer
|
||||
* Console.
|
||||
* @param string $json the configuration json
|
||||
* @throws W3TCG_Google_Exception
|
||||
*/
|
||||
public function setAuthConfig($json)
|
||||
{
|
||||
$data = json_decode($json);
|
||||
$key = isset($data->installed) ? 'installed' : 'web';
|
||||
if (!isset($data->$key)) {
|
||||
throw new W3TCG_Google_Exception("Invalid client secret JSON file.");
|
||||
}
|
||||
$this->setClientId($data->$key->client_id);
|
||||
$this->setClientSecret($data->$key->client_secret);
|
||||
if (isset($data->$key->redirect_uris)) {
|
||||
$this->setRedirectUri($data->$key->redirect_uris[0]);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the auth config from the JSON file in the path
|
||||
* provided. This should match the file downloaded from
|
||||
* the "Download JSON" button on in the Google Developer
|
||||
* Console.
|
||||
* @param string $file the file location of the client json
|
||||
*/
|
||||
public function setAuthConfigFile($file)
|
||||
{
|
||||
$this->setAuthConfig(file_get_contents($file));
|
||||
}
|
||||
|
||||
/**
|
||||
* @throws W3TCG_Google_Auth_Exception
|
||||
* @return array
|
||||
* @visible For Testing
|
||||
*/
|
||||
public function prepareScopes()
|
||||
{
|
||||
if (empty($this->requestedScopes)) {
|
||||
throw new W3TCG_Google_Auth_Exception("No scopes specified");
|
||||
}
|
||||
$scopes = implode(' ', $this->requestedScopes);
|
||||
return $scopes;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the OAuth 2.0 access token using the string that resulted from calling createAuthUrl()
|
||||
* or W3TCG_Google_Client#getAccessToken().
|
||||
* @param string $accessToken JSON encoded string containing in the following format:
|
||||
* {"access_token":"TOKEN", "refresh_token":"TOKEN", "token_type":"Bearer",
|
||||
* "expires_in":3600, "id_token":"TOKEN", "created":1320790426}
|
||||
*/
|
||||
public function setAccessToken($accessToken)
|
||||
{
|
||||
if ($accessToken == 'null') {
|
||||
$accessToken = null;
|
||||
}
|
||||
$this->getAuth()->setAccessToken($accessToken);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Set the authenticator object
|
||||
* @param W3TCG_Google_Auth_Abstract $auth
|
||||
*/
|
||||
public function setAuth(W3TCG_Google_Auth_Abstract $auth)
|
||||
{
|
||||
$this->config->setAuthClass(get_class($auth));
|
||||
$this->auth = $auth;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the IO object
|
||||
* @param W3TCG_Google_IO_Abstract $io
|
||||
*/
|
||||
public function setIo(W3TCG_Google_IO_Abstract $io)
|
||||
{
|
||||
$this->config->setIoClass(get_class($io));
|
||||
$this->io = $io;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the Cache object
|
||||
* @param W3TCG_Google_Cache_Abstract $cache
|
||||
*/
|
||||
public function setCache(W3TCG_Google_Cache_Abstract $cache)
|
||||
{
|
||||
$this->config->setCacheClass(get_class($cache));
|
||||
$this->cache = $cache;
|
||||
}
|
||||
|
||||
/**
|
||||
* Construct the OAuth 2.0 authorization request URI.
|
||||
* @return string
|
||||
*/
|
||||
public function createAuthUrl()
|
||||
{
|
||||
$scopes = $this->prepareScopes();
|
||||
return $this->getAuth()->createAuthUrl($scopes);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the OAuth 2.0 access token.
|
||||
* @return string $accessToken JSON encoded string in the following format:
|
||||
* {"access_token":"TOKEN", "refresh_token":"TOKEN", "token_type":"Bearer",
|
||||
* "expires_in":3600,"id_token":"TOKEN", "created":1320790426}
|
||||
*/
|
||||
public function getAccessToken()
|
||||
{
|
||||
$token = $this->getAuth()->getAccessToken();
|
||||
// The response is json encoded, so could be the string null.
|
||||
// It is arguable whether this check should be here or lower
|
||||
// in the library.
|
||||
return (null == $token || 'null' == $token || '[]' == $token) ? null : $token;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the OAuth 2.0 refresh token.
|
||||
* @return string $refreshToken refresh token or null if not available
|
||||
*/
|
||||
public function getRefreshToken()
|
||||
{
|
||||
return $this->getAuth()->getRefreshToken();
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns if the access_token is expired.
|
||||
* @return bool Returns True if the access_token is expired.
|
||||
*/
|
||||
public function isAccessTokenExpired()
|
||||
{
|
||||
return $this->getAuth()->isAccessTokenExpired();
|
||||
}
|
||||
|
||||
/**
|
||||
* 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->getAuth()->setState($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->setAccessType($accessType);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $approvalPrompt Possible values for approval_prompt include:
|
||||
* {@code "force"} to force the approval UI to appear. (This is the default value)
|
||||
* {@code "auto"} to request auto-approval when possible.
|
||||
*/
|
||||
public function setApprovalPrompt($approvalPrompt)
|
||||
{
|
||||
$this->config->setApprovalPrompt($approvalPrompt);
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the login hint, email address or sub id.
|
||||
* @param string $loginHint
|
||||
*/
|
||||
public function setLoginHint($loginHint)
|
||||
{
|
||||
$this->config->setLoginHint($loginHint);
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the application name, this is included in the User-Agent HTTP header.
|
||||
* @param string $applicationName
|
||||
*/
|
||||
public function setApplicationName($applicationName)
|
||||
{
|
||||
$this->config->setApplicationName($applicationName);
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the OAuth 2.0 Client ID.
|
||||
* @param string $clientId
|
||||
*/
|
||||
public function setClientId($clientId)
|
||||
{
|
||||
$this->config->setClientId($clientId);
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the OAuth 2.0 Client Secret.
|
||||
* @param string $clientSecret
|
||||
*/
|
||||
public function setClientSecret($clientSecret)
|
||||
{
|
||||
$this->config->setClientSecret($clientSecret);
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the OAuth 2.0 Redirect URI.
|
||||
* @param string $redirectUri
|
||||
*/
|
||||
public function setRedirectUri($redirectUri)
|
||||
{
|
||||
$this->config->setRedirectUri($redirectUri);
|
||||
}
|
||||
|
||||
/**
|
||||
* 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 = join(" ", $requestVisibleActions);
|
||||
}
|
||||
$this->config->setRequestVisibleActions($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->setDeveloperKey($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->setHostedDomain($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->setPrompt($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->setOpenidRealm($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->setIncludeGrantedScopes($include);
|
||||
}
|
||||
|
||||
/**
|
||||
* Fetches a fresh OAuth 2.0 access token with the given refresh token.
|
||||
* @param string $refreshToken
|
||||
*/
|
||||
public function refreshToken($refreshToken)
|
||||
{
|
||||
$this->getAuth()->refreshToken($refreshToken);
|
||||
}
|
||||
|
||||
/**
|
||||
* Revoke an OAuth2 access token or refresh token. This method will revoke the current access
|
||||
* token, if a token isn't provided.
|
||||
* @throws W3TCG_Google_Auth_Exception
|
||||
* @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)
|
||||
{
|
||||
return $this->getAuth()->revokeToken($token);
|
||||
}
|
||||
|
||||
/**
|
||||
* Verify an id_token. This method will verify the current id_token, if one
|
||||
* isn't provided.
|
||||
* @throws W3TCG_Google_Auth_Exception
|
||||
* @param string|null $token The token (id_token) that should be verified.
|
||||
* @return W3TCG_Google_Auth_LoginTicket Returns an apiLoginTicket if the verification was
|
||||
* successful.
|
||||
*/
|
||||
public function verifyIdToken($token = null)
|
||||
{
|
||||
return $this->getAuth()->verifyIdToken($token);
|
||||
}
|
||||
|
||||
/**
|
||||
* Verify a JWT that was signed with your own certificates.
|
||||
*
|
||||
* @param $id_token string The JWT token
|
||||
* @param $cert_location array of certificates
|
||||
* @param $audience string the expected consumer of the token
|
||||
* @param $issuer string the expected issuer, defaults to Google
|
||||
* @param [$max_expiry] the max lifetime of a token, defaults to MAX_TOKEN_LIFETIME_SECS
|
||||
* @return mixed token information if valid, false if not
|
||||
*/
|
||||
public function verifySignedJwt($id_token, $cert_location, $audience, $issuer, $max_expiry = null)
|
||||
{
|
||||
$auth = new W3TCG_Google_Auth_OAuth2($this);
|
||||
$certs = $auth->retrieveCertsFromLocation($cert_location);
|
||||
return $auth->verifySignedJwtWithCerts($id_token, $certs, $audience, $issuer, $max_expiry);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param $creds W3TCG_Google_Auth_AssertionCredentials
|
||||
*/
|
||||
public function setAssertionCredentials(W3TCG_Google_Auth_AssertionCredentials $creds)
|
||||
{
|
||||
$this->getAuth()->setAssertionCredentials($creds);
|
||||
}
|
||||
|
||||
/**
|
||||
* 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;
|
||||
}
|
||||
|
||||
/**
|
||||
* 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);
|
||||
}
|
||||
|
||||
/**
|
||||
* 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;
|
||||
}
|
||||
|
||||
/**
|
||||
* Helper method to execute deferred HTTP requests.
|
||||
*
|
||||
* @param $request W3TCG_Google_Http_Request|Google_Http_Batch
|
||||
* @throws W3TCG_Google_Exception
|
||||
* @return object of the type of the expected class or array.
|
||||
*/
|
||||
public function execute($request)
|
||||
{
|
||||
if ($request instanceof W3TCG_Google_Http_Request) {
|
||||
$request->setUserAgent(
|
||||
$this->getApplicationName()
|
||||
. " " . self::USER_AGENT_SUFFIX
|
||||
. $this->getLibraryVersion()
|
||||
);
|
||||
if (!$this->getClassConfig("W3TCG_Google_Http_Request", "disable_gzip")) {
|
||||
$request->enableGzip();
|
||||
}
|
||||
$request->maybeMoveParametersToBody();
|
||||
return W3TCG_Google_Http_REST::execute($this, $request);
|
||||
} else if ($request instanceof W3TCG_Google_Http_Batch) {
|
||||
return $request->execute();
|
||||
} else {
|
||||
throw new W3TCG_Google_Exception("Do not know how to execute this type of object.");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Whether or not to return raw requests
|
||||
* @return boolean
|
||||
*/
|
||||
public function shouldDefer()
|
||||
{
|
||||
return $this->deferExecution;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return W3TCG_Google_Auth_Abstract Authentication implementation
|
||||
*/
|
||||
public function getAuth()
|
||||
{
|
||||
if (!isset($this->auth)) {
|
||||
$class = $this->config->getAuthClass();
|
||||
$this->auth = new $class($this);
|
||||
}
|
||||
return $this->auth;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return W3TCG_Google_IO_Abstract IO implementation
|
||||
*/
|
||||
public function getIo()
|
||||
{
|
||||
if (!isset($this->io)) {
|
||||
$class = $this->config->getIoClass();
|
||||
$this->io = new $class($this);
|
||||
}
|
||||
return $this->io;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return W3TCG_Google_Cache_Abstract Cache implementation
|
||||
*/
|
||||
public function getCache()
|
||||
{
|
||||
if (!isset($this->cache)) {
|
||||
$class = $this->config->getCacheClass();
|
||||
$this->cache = new $class($this);
|
||||
}
|
||||
return $this->cache;
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieve custom configuration for a specific class.
|
||||
* @param $class string|object - class or instance of class to retrieve
|
||||
* @param $key string optional - key to retrieve
|
||||
* @return array
|
||||
*/
|
||||
public function getClassConfig($class, $key = null)
|
||||
{
|
||||
if (!is_string($class)) {
|
||||
$class = get_class($class);
|
||||
}
|
||||
return $this->config->getClassConfig($class, $key);
|
||||
}
|
||||
|
||||
/**
|
||||
* Set configuration specific to a given class.
|
||||
* $config->setClassConfig('W3TCG_Google_Cache_File',
|
||||
* array('directory' => '/tmp/cache'));
|
||||
* @param $class string|object - The class name for the configuration
|
||||
* @param $config string key or an array of configuration values
|
||||
* @param $value string optional - if $config is a key, the value
|
||||
*
|
||||
*/
|
||||
public function setClassConfig($class, $config, $value = null)
|
||||
{
|
||||
if (!is_string($class)) {
|
||||
$class = get_class($class);
|
||||
}
|
||||
$this->config->setClassConfig($class, $config, $value);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string the base URL to use for calls to the APIs
|
||||
*/
|
||||
public function getBasePath()
|
||||
{
|
||||
return $this->config->getBasePath();
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string the name of the application
|
||||
*/
|
||||
public function getApplicationName()
|
||||
{
|
||||
return $this->config->getApplicationName();
|
||||
}
|
||||
|
||||
/**
|
||||
* Are we running in Google AppEngine?
|
||||
* return bool
|
||||
*/
|
||||
public function isAppEngine()
|
||||
{
|
||||
return (isset($_SERVER['SERVER_SOFTWARE']) &&
|
||||
strpos( sanitize_text_field( wp_unslash( $_SERVER['SERVER_SOFTWARE'] ) ), 'Google App Engine') !== false);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user