Official Facebook Pixel - Version 2.2.1

Version Description

Download this release

Release Info

Developer Facebook
Plugin Icon Official Facebook Pixel
Version 2.2.1
Comparing to
See all releases

Code changes from version 2.2.0 to 2.2.1

Files changed (345) hide show
  1. changelog.txt +8 -0
  2. composer.json +1 -1
  3. composer.lock +751 -7
  4. core/FacebookPluginConfig.php +1 -1
  5. core/FacebookPluginUtils.php +10 -7
  6. core/FacebookServerSideEvent.php +39 -8
  7. core/FacebookWordpressPixelInjection.php +17 -0
  8. core/PixelRenderer.php +11 -4
  9. core/ServerEventAsyncTask.php +14 -4
  10. core/ServerEventFactory.php +4 -0
  11. facebook-for-wordpress.php +1 -1
  12. integration/FacebookWordpressCalderaForm.php +4 -1
  13. integration/FacebookWordpressContactForm7.php +4 -2
  14. integration/FacebookWordpressEasyDigitalDownloads.php +10 -8
  15. integration/FacebookWordpressFormidableForm.php +2 -2
  16. integration/FacebookWordpressGravityForms.php +1 -1
  17. integration/FacebookWordpressMailchimpForWp.php +1 -1
  18. integration/FacebookWordpressNinjaForms.php +1 -1
  19. integration/FacebookWordpressWPECommerce.php +3 -3
  20. integration/FacebookWordpressWPForms.php +2 -2
  21. integration/FacebookWordpressWooCommerce.php +133 -4
  22. languages/official-facebook-pixel-ar_AR.po +1 -1
  23. languages/official-facebook-pixel-cs_CZ.po +1 -1
  24. languages/official-facebook-pixel-da_DK.po +1 -1
  25. languages/official-facebook-pixel-de_DE.po +1 -1
  26. languages/official-facebook-pixel-en_GB.po +1 -1
  27. languages/official-facebook-pixel-es_ES.po +1 -1
  28. languages/official-facebook-pixel-es_LA.po +1 -1
  29. languages/official-facebook-pixel-fi_FI.po +1 -1
  30. languages/official-facebook-pixel-fr_CA.po +1 -1
  31. languages/official-facebook-pixel-fr_FR.po +1 -1
  32. languages/official-facebook-pixel-he_IL.po +1 -1
  33. languages/official-facebook-pixel-it_IT.po +1 -1
  34. languages/official-facebook-pixel-ja_JP.po +1 -1
  35. languages/official-facebook-pixel-ko_KR.po +1 -1
  36. languages/official-facebook-pixel-nb_NO.po +1 -1
  37. languages/official-facebook-pixel-nl_NL.po +1 -1
  38. languages/official-facebook-pixel-pl_PL.po +1 -1
  39. languages/official-facebook-pixel-pt_BR.po +1 -1
  40. languages/official-facebook-pixel-pt_PT.po +1 -1
  41. languages/official-facebook-pixel-ru_RU.po +1 -1
  42. languages/official-facebook-pixel-sv_SE.po +1 -1
  43. languages/official-facebook-pixel-th_TH.po +1 -1
  44. languages/official-facebook-pixel-tr_TR.po +1 -1
  45. languages/official-facebook-pixel-vi_VN.po +1 -1
  46. languages/official-facebook-pixel-zh_CN.po +1 -1
  47. languages/official-facebook-pixel-zh_TW.po +1 -1
  48. readme.txt +12 -4
  49. vendor/autoload.php +1 -1
  50. vendor/composer/autoload_classmap.php +8 -0
  51. vendor/composer/autoload_files.php +17 -0
  52. vendor/composer/autoload_psr4.php +8 -0
  53. vendor/composer/autoload_real.php +25 -4
  54. vendor/composer/autoload_static.php +72 -4
  55. vendor/composer/installed.json +670 -6
  56. vendor/facebook/php-business-sdk/.gitignore +12 -0
  57. vendor/facebook/php-business-sdk/CHANGELOG.md +23 -0
  58. vendor/facebook/php-business-sdk/composer.json +5 -1
  59. vendor/facebook/php-business-sdk/examples/CustomAudienceUsersPost.php +1 -2
  60. vendor/facebook/php-business-sdk/examples/CustomAudienceUsersPostCrossPlatform.php +1 -2
  61. vendor/facebook/php-business-sdk/examples/aggregator_onboarding/api.php +13 -13
  62. vendor/facebook/php-business-sdk/src/FacebookAds/ApiConfig.php +2 -2
  63. vendor/facebook/php-business-sdk/src/FacebookAds/Http/Exception/RequestException.php +5 -0
  64. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdAccount.php +42 -55
  65. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdAccountAdVolume.php +2 -0
  66. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdActivity.php +2 -0
  67. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdCreative.php +1 -0
  68. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdCreativeInstagramBrandedContent.php +57 -0
  69. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdPlacePageSet.php +2 -0
  70. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdStudy.php +1 -0
  71. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdStudyObjective.php +1 -0
  72. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdVideo.php +26 -2
  73. vendor/facebook/php-business-sdk/src/FacebookAds/Object/{AdsInterest.php → AdoptablePet.php} +6 -6
  74. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdsPixel.php +3 -0
  75. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Application.php +84 -4
  76. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AtlasCampaign.php +5 -2
  77. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Business.php +94 -217
  78. vendor/facebook/php-business-sdk/src/FacebookAds/Object/BusinessCreative.php +0 -80
  79. vendor/facebook/php-business-sdk/src/FacebookAds/Object/BusinessCreativeFolder.php +0 -262
  80. vendor/facebook/php-business-sdk/src/FacebookAds/Object/BusinessImage.php +0 -245
  81. vendor/facebook/php-business-sdk/src/FacebookAds/Object/BusinessUnit.php +1 -1
  82. vendor/facebook/php-business-sdk/src/FacebookAds/Object/{IterativeSplitTestConfig.php → CPASAdvertiserPartnershipRecommendation.php} +6 -6
  83. vendor/facebook/php-business-sdk/src/FacebookAds/Object/{BusinessCreativeFolderSharingAgreement.php → CPASCollaborationRequest.php} +15 -8
  84. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Campaign.php +4 -0
  85. vendor/facebook/php-business-sdk/src/FacebookAds/Object/{ClientTransparencyStatus.php → CatalogSubVerticalList.php} +4 -4
  86. vendor/facebook/php-business-sdk/src/FacebookAds/Object/CommerceMerchantSettings.php +85 -0
  87. vendor/facebook/php-business-sdk/src/FacebookAds/Object/CommerceOrder.php +24 -0
  88. vendor/facebook/php-business-sdk/src/FacebookAds/Object/CommerceOrderTransactionDetail.php +23 -0
  89. vendor/facebook/php-business-sdk/src/FacebookAds/Object/{CreativeAssetTag.php → ConnectionsTargeting.php} +4 -4
  90. vendor/facebook/php-business-sdk/src/FacebookAds/Object/DACheck.php +2 -0
  91. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Event.php +3 -1
  92. vendor/facebook/php-business-sdk/src/FacebookAds/Object/ExtendedCredit.php +25 -0
  93. vendor/facebook/php-business-sdk/src/FacebookAds/Object/ExternalEventSource.php +0 -23
  94. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Fields/AdAccountAdVolumeFields.php +18 -0
  95. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Fields/AdAssetFeedSpecFields.php +2 -0
  96. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Fields/AdCampaignActivityFields.php +0 -4
  97. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Fields/{AtlasURLFields.php → AdCreativeInstagramBrandedContentFields.php} +1 -3
  98. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Fields/AdCreativeInteractiveComponentsSpecFields.php +2 -0
  99. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Fields/AdPlacePageSetFields.php +2 -0
  100. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Fields/AdReportSpecFields.php +0 -2
  101. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Fields/AdgroupPlacementSpecificReviewFeedbackFields.php +8 -0
  102. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Fields/{AdsInterestFields.php → AdoptablePetFields.php} +37 -9
  103. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Fields/AdsInsightsFields.php +8 -0
  104. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Fields/AutomotiveModelFields.php +2 -0
  105. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Fields/BusinessCreativeFields.php +0 -67
  106. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Fields/BusinessCreativeFolderFields.php +0 -63
  107. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Fields/BusinessImageFields.php +0 -73
  108. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Fields/{BusinessCreativeFolderSharingAgreementFields.php → CPASAdvertiserPartnershipRecommendationFields.php} +15 -5
  109. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Fields/{BrandAudienceFields.php → CPASCollaborationRequestFields.php} +17 -17
  110. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Fields/CampaignFields.php +2 -0
  111. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Fields/CatalogSubVerticalListFields.php +149 -0
  112. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Fields/ClientTransparencyStatusFields.php +0 -53
  113. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Fields/CommerceMerchantSettingsFields.php +4 -0
  114. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Fields/CommerceOrderFields.php +2 -0
  115. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Fields/{CreativeAssetTagFields.php → ConnectionsTargetingFields.php} +3 -1
  116. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Fields/DestinationFields.php +2 -0
  117. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Fields/EventFields.php +4 -0
  118. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Fields/FlightFields.php +2 -0
  119. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Fields/HomeListingFields.php +2 -0
  120. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Fields/HotelFields.php +2 -0
  121. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Fields/IGMediaFields.php +2 -0
  122. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Fields/IterativeSplitTestConfigFields.php +0 -63
  123. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Fields/OracleTransactionFields.php +0 -2
  124. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Fields/PageAboutStoryFields.php +0 -59
  125. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Fields/PageAdminNoteFields.php +2 -0
  126. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Fields/PageFields.php +2 -2
  127. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Fields/PagePostFields.php +4 -0
  128. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Fields/PaymentSubscriptionFields.php +93 -0
  129. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Fields/PostFields.php +4 -0
  130. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Fields/ProductCatalogFields.php +6 -0
  131. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Fields/ProductFeedFields.php +2 -0
  132. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Fields/ProductItemFields.php +4 -0
  133. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Fields/ProductSetFields.php +8 -0
  134. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Fields/{MessengerPlatformReferralFields.php → ProductSetMetadataFields.php} +9 -11
  135. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Fields/SecuritySettingsFields.php +0 -2
  136. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Fields/SplitTestConfigFields.php +0 -59
  137. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Fields/TargetingFields.php +5 -3
  138. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Fields/{StreamingReactionFields.php → TargetingRelaxationFields.php} +3 -5
  139. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Fields/UnifiedThreadFields.php +2 -0
  140. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Fields/UserFields.php +0 -12
  141. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Fields/UserInfluenceFields.php +0 -51
  142. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Fields/UserTaggableFriendFields.php +0 -55
  143. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Fields/VehicleFields.php +2 -0
  144. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Fields/VehicleOfferFields.php +2 -0
  145. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Fields/WhatsAppBusinessAccountFields.php +2 -0
  146. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Fields/WhatsAppBusinessProfileFields.php +0 -51
  147. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Group.php +6 -1
  148. vendor/facebook/php-business-sdk/src/FacebookAds/Object/LifeEvent.php +0 -23
  149. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Link.php +0 -26
  150. vendor/facebook/php-business-sdk/src/FacebookAds/Object/LiveVideo.php +2 -24
  151. vendor/facebook/php-business-sdk/src/FacebookAds/Object/MediaFingerprint.php +27 -0
  152. vendor/facebook/php-business-sdk/src/FacebookAds/Object/MessengerPlatformReferral.php +0 -80
  153. vendor/facebook/php-business-sdk/src/FacebookAds/Object/NativeOfferView.php +0 -23
  154. vendor/facebook/php-business-sdk/src/FacebookAds/Object/OracleTransaction.php +0 -24
  155. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Page.php +65 -150
  156. vendor/facebook/php-business-sdk/src/FacebookAds/Object/PageAboutStory.php +0 -131
  157. vendor/facebook/php-business-sdk/src/FacebookAds/Object/PageChangeProposal.php +0 -47
  158. vendor/facebook/php-business-sdk/src/FacebookAds/Object/{BrandAudience.php → PaymentSubscription.php} +6 -6
  159. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Photo.php +26 -0
  160. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Post.php +3 -0
  161. vendor/facebook/php-business-sdk/src/FacebookAds/Object/ProductCatalog.php +20 -0
  162. vendor/facebook/php-business-sdk/src/FacebookAds/Object/ProductFeed.php +2 -0
  163. vendor/facebook/php-business-sdk/src/FacebookAds/Object/ProductGroup.php +1 -0
  164. vendor/facebook/php-business-sdk/src/FacebookAds/Object/ProductItem.php +2 -0
  165. vendor/facebook/php-business-sdk/src/FacebookAds/Object/ProductSet.php +2 -0
  166. vendor/facebook/php-business-sdk/src/FacebookAds/Object/{UserInfluence.php → ProductSetMetadata.php} +4 -4
  167. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Profile.php +3 -0
  168. vendor/facebook/php-business-sdk/src/FacebookAds/Object/ProfilePictureSource.php +2 -0
  169. vendor/facebook/php-business-sdk/src/FacebookAds/Object/PublisherBlockList.php +24 -0
  170. vendor/facebook/php-business-sdk/src/FacebookAds/Object/SavedAudience.php +0 -23
  171. vendor/facebook/php-business-sdk/src/FacebookAds/Object/ServerSide/AsyncClient.php +53 -0
  172. vendor/facebook/php-business-sdk/src/FacebookAds/Object/ServerSide/BatchProcessor.php +121 -0
  173. vendor/facebook/php-business-sdk/src/FacebookAds/Object/ServerSide/CustomData.php +52 -0
  174. vendor/facebook/php-business-sdk/src/FacebookAds/Object/ServerSide/DeliveryCategory.php +52 -0
  175. vendor/facebook/php-business-sdk/src/FacebookAds/Object/ServerSide/EventRequest.php +165 -5
  176. vendor/facebook/php-business-sdk/src/FacebookAds/Object/ServerSide/EventRequestAsync.php +89 -0
  177. vendor/facebook/php-business-sdk/src/FacebookAds/Object/ServerSide/HttpMethod.php +34 -0
  178. vendor/facebook/php-business-sdk/src/FacebookAds/Object/ServerSide/HttpServiceClientConfig.php +48 -0
  179. vendor/facebook/php-business-sdk/src/FacebookAds/Object/ServerSide/HttpServiceInterface.php +36 -0
  180. vendor/facebook/php-business-sdk/src/FacebookAds/Object/ServerSide/Normalizer.php +115 -0
  181. vendor/facebook/php-business-sdk/src/FacebookAds/Object/ServerSide/Singleton.php +44 -0
  182. vendor/facebook/php-business-sdk/src/FacebookAds/Object/ServerSide/UserData.php +181 -4
  183. vendor/facebook/php-business-sdk/src/FacebookAds/Object/ServerSide/Util.php +6 -0
  184. vendor/facebook/php-business-sdk/src/FacebookAds/Object/SplitTestConfig.php +0 -80
  185. vendor/facebook/php-business-sdk/src/FacebookAds/Object/StreamingReaction.php +0 -59
  186. vendor/facebook/php-business-sdk/src/FacebookAds/Object/{AtlasURL.php → TargetingRelaxation.php} +4 -4
  187. vendor/facebook/php-business-sdk/src/FacebookAds/Object/ThirdPartyMeasurementReportDataset.php +0 -24
  188. vendor/facebook/php-business-sdk/src/FacebookAds/Object/URL.php +1 -0
  189. vendor/facebook/php-business-sdk/src/FacebookAds/Object/User.php +30 -47
  190. vendor/facebook/php-business-sdk/src/FacebookAds/Object/UserTaggableFriend.php +0 -86
  191. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Values/{StreamingReactionReactionTypeValues.php → AdAccountAdVolumeRecommendationTypeValues.php} +13 -12
  192. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Values/AdAccountCurrencyValues.php +1 -0
  193. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Values/AdAccountDeliveryEstimateOptimizationGoalValues.php +1 -0
  194. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Values/AdAccountMatchedSearchApplicationsEdgeDataAppStoreValues.php +1 -0
  195. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Values/AdAccountPermittedTasksValues.php +0 -3
  196. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Values/AdAccountTargetingUnifiedRegulatedCategoriesValues.php +1 -0
  197. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Values/AdAccountTasksValues.php +0 -3
  198. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Values/{PageDomainActionTypeValues.php → AdActivityDataSourceValues.php} +4 -4
  199. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Values/AdActivityEventTypeValues.php +2 -0
  200. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Values/AdAssetFeedSpecCallToActionTypesValues.php +1 -0
  201. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Values/AdCampaignActivityOptimizationGoalNewValues.php +1 -0
  202. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Values/AdCampaignActivityOptimizationGoalOldValues.php +1 -0
  203. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Values/AdCampaignDeliveryEstimateOptimizationGoalValues.php +1 -0
  204. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Values/AdCreativeCallToActionTypeValues.php +1 -0
  205. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Values/AdCreativeLinkDataCallToActionTypeValues.php +1 -0
  206. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Values/AdNetworkAnalyticsSyncQueryResultBreakdownsValues.php +1 -0
  207. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Values/{PagePaymentDevModeActionValues.php → AdPlacePageSetCategoryValues.php} +4 -4
  208. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Values/AdPreviewAdFormatValues.php +0 -1
  209. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Values/AdSetOptimizationGoalValues.php +1 -0
  210. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Values/AdSetTuneForCategoryValues.php +1 -0
  211. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Values/AdStudyTypeValues.php +1 -0
  212. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Values/AdVideoContainerTypeValues.php +4 -0
  213. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Values/AdVideoOriginalProjectionTypeValues.php +0 -1
  214. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Values/AdVideoValidationAdPlacementsValues.php +0 -60
  215. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Values/AdsPixelAutomaticMatchingFieldsValues.php +2 -0
  216. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Values/ApplicationSupportedPlatformsValues.php +1 -0
  217. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Values/BusinessAssetGroupAdaccountTasksValues.php +0 -3
  218. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Values/BusinessAssetGroupPageTasksValues.php +2 -0
  219. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Values/BusinessCreativeFolderTasksValues.php +0 -45
  220. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Values/BusinessImageValidationAdPlacementsValues.php +0 -60
  221. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Values/BusinessPagePermittedTasksValues.php +2 -0
  222. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Values/BusinessPermittedTasksValues.php +0 -3
  223. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Values/BusinessRoleRequestRoleValues.php +9 -0
  224. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Values/BusinessUserRoleValues.php +9 -0
  225. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Values/CPASCollaborationRequestRequesterAgencyOrBrandValues.php +43 -0
  226. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Values/CampaignSpecialAdCategoriesValues.php +1 -0
  227. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Values/CampaignSpecialAdCategoryCountryValues.php +291 -0
  228. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Values/CampaignSpecialAdCategoryValues.php +1 -0
  229. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Values/CommerceMerchantSettingsCtaValues.php +42 -0
  230. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Values/CustomAudienceDataSourceSubTypeValues.php +1 -0
  231. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Values/DACheckConnectionMethodValues.php +44 -0
  232. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Values/{PageSettingTypeValues.php → EventOnlineEventFormatValues.php} +7 -7
  233. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Values/EventTypeValues.php +1 -0
  234. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Values/GroupGroupTypeValues.php +3 -0
  235. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Values/GroupPurposeValues.php +3 -0
  236. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Values/LiveVideoBroadcastStatusValues.php +9 -9
  237. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Values/PageCallToActionAndroidDestinationTypeValues.php +1 -0
  238. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Values/PageCallToActionIphoneDestinationTypeValues.php +1 -0
  239. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Values/PageCallToActionTypeValues.php +1 -0
  240. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Values/PagePermittedTasksValues.php +2 -0
  241. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Values/PagePickupOptionsValues.php +43 -0
  242. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Values/PageSubscribedFieldsValues.php +1 -1
  243. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Values/PageTasksValues.php +2 -0
  244. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Values/{BusinessCreativeFolderSharingAgreementRequestStatusValues.php → ProductCatalogItemSubTypeValues.php} +28 -7
  245. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Values/ProductCatalogPermittedTasksValues.php +1 -0
  246. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Values/ProductCatalogTasksValues.php +1 -0
  247. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Values/ProductCatalogVerticalValues.php +1 -0
  248. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Values/ProductFeedFeedTypeValues.php +1 -0
  249. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Values/{BusinessCreativeFolderPermittedTasksValues.php → ProductFeedItemSubTypeValues.php} +28 -7
  250. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Values/{PageThreadStateValues.php → ProfilePictureSourceBreakingChangeValues.php} +3 -4
  251. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Values/SystemUserRoleValues.php +9 -0
  252. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Values/WhatsAppBusinessAccountTasksValues.php +45 -0
  253. vendor/facebook/php-business-sdk/src/FacebookAds/Object/WhatsAppBusinessAccount.php +76 -0
  254. vendor/facebook/php-business-sdk/src/FacebookAds/Object/WhatsAppBusinessProfile.php +0 -104
  255. vendor/facebook/php-business-sdk/test/.gitignore +1 -0
  256. vendor/facebook/php-business-sdk/test/FacebookAdsTest/Object/ServerSide/AsyncClientTest.php +58 -0
  257. vendor/facebook/php-business-sdk/test/FacebookAdsTest/Object/ServerSide/BatchProcessorTest.php +166 -0
  258. vendor/facebook/php-business-sdk/test/FacebookAdsTest/Object/ServerSide/CustomDataTest.php +113 -0
  259. vendor/facebook/php-business-sdk/test/FacebookAdsTest/Object/ServerSide/EventRequestAsyncTest.php +97 -0
  260. vendor/facebook/php-business-sdk/test/FacebookAdsTest/Object/ServerSide/EventRequestTest.php +223 -0
  261. vendor/facebook/php-business-sdk/test/FacebookAdsTest/Object/ServerSide/ServerSideNormalizeTest.php +300 -12
  262. vendor/facebook/php-business-sdk/test/FacebookAdsTest/Object/ServerSide/ServerSideUtilTest.php +4 -0
  263. vendor/facebook/php-business-sdk/test/FacebookAdsTest/Object/ServerSide/TestHelpers/AnotherHttpService.php +32 -0
  264. vendor/facebook/php-business-sdk/test/FacebookAdsTest/Object/ServerSide/TestHelpers/E2ETestHttpService.php +64 -0
  265. vendor/facebook/php-business-sdk/test/FacebookAdsTest/Object/ServerSide/TestHelpers/FakeHttpService.php +32 -0
  266. vendor/facebook/php-business-sdk/test/FacebookAdsTest/Object/ServerSide/UserDataTest.php +116 -0
  267. vendor/guzzlehttp/guzzle/.php_cs +23 -0
  268. vendor/guzzlehttp/guzzle/CHANGELOG.md +1338 -0
  269. vendor/guzzlehttp/guzzle/Dockerfile +18 -0
  270. vendor/guzzlehttp/guzzle/LICENSE +19 -0
  271. vendor/guzzlehttp/guzzle/README.md +90 -0
  272. vendor/guzzlehttp/guzzle/UPGRADING.md +1203 -0
  273. vendor/guzzlehttp/guzzle/composer.json +59 -0
  274. vendor/guzzlehttp/guzzle/src/Client.php +501 -0
  275. vendor/guzzlehttp/guzzle/src/ClientInterface.php +87 -0
  276. vendor/guzzlehttp/guzzle/src/Cookie/CookieJar.php +316 -0
  277. vendor/guzzlehttp/guzzle/src/Cookie/CookieJarInterface.php +84 -0
  278. vendor/guzzlehttp/guzzle/src/Cookie/FileCookieJar.php +91 -0
  279. vendor/guzzlehttp/guzzle/src/Cookie/SessionCookieJar.php +72 -0
  280. vendor/guzzlehttp/guzzle/src/Cookie/SetCookie.php +403 -0
  281. vendor/guzzlehttp/guzzle/src/Exception/BadResponseException.php +27 -0
  282. vendor/guzzlehttp/guzzle/src/Exception/ClientException.php +9 -0
  283. vendor/guzzlehttp/guzzle/src/Exception/ConnectException.php +37 -0
  284. vendor/guzzlehttp/guzzle/src/Exception/GuzzleException.php +23 -0
  285. vendor/guzzlehttp/guzzle/src/Exception/InvalidArgumentException.php +7 -0
  286. vendor/guzzlehttp/guzzle/src/Exception/RequestException.php +192 -0
  287. vendor/guzzlehttp/guzzle/src/Exception/SeekException.php +27 -0
  288. vendor/guzzlehttp/guzzle/src/Exception/ServerException.php +9 -0
  289. vendor/guzzlehttp/guzzle/src/Exception/TooManyRedirectsException.php +6 -0
  290. vendor/guzzlehttp/guzzle/src/Exception/TransferException.php +6 -0
  291. vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php +585 -0
  292. vendor/guzzlehttp/guzzle/src/Handler/CurlFactoryInterface.php +27 -0
  293. vendor/guzzlehttp/guzzle/src/Handler/CurlHandler.php +45 -0
  294. vendor/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php +219 -0
  295. vendor/guzzlehttp/guzzle/src/Handler/EasyHandle.php +92 -0
  296. vendor/guzzlehttp/guzzle/src/Handler/MockHandler.php +195 -0
  297. vendor/guzzlehttp/guzzle/src/Handler/Proxy.php +55 -0
  298. vendor/guzzlehttp/guzzle/src/Handler/StreamHandler.php +545 -0
  299. vendor/guzzlehttp/guzzle/src/HandlerStack.php +277 -0
  300. vendor/guzzlehttp/guzzle/src/MessageFormatter.php +185 -0
  301. vendor/guzzlehttp/guzzle/src/Middleware.php +254 -0
  302. vendor/guzzlehttp/guzzle/src/Pool.php +134 -0
  303. vendor/guzzlehttp/guzzle/src/PrepareBodyMiddleware.php +111 -0
  304. vendor/guzzlehttp/guzzle/src/RedirectMiddleware.php +255 -0
  305. vendor/guzzlehttp/guzzle/src/RequestOptions.php +263 -0
  306. vendor/guzzlehttp/guzzle/src/RetryMiddleware.php +128 -0
  307. vendor/guzzlehttp/guzzle/src/TransferStats.php +126 -0
  308. vendor/guzzlehttp/guzzle/src/UriTemplate.php +237 -0
  309. vendor/guzzlehttp/guzzle/src/Utils.php +92 -0
  310. vendor/guzzlehttp/guzzle/src/functions.php +334 -0
  311. vendor/guzzlehttp/guzzle/src/functions_include.php +6 -0
  312. vendor/guzzlehttp/promises/CHANGELOG.md +65 -0
  313. vendor/guzzlehttp/promises/LICENSE +19 -0
  314. vendor/guzzlehttp/promises/Makefile +13 -0
  315. vendor/guzzlehttp/promises/README.md +504 -0
  316. vendor/guzzlehttp/promises/composer.json +34 -0
  317. vendor/guzzlehttp/promises/src/AggregateException.php +16 -0
  318. vendor/guzzlehttp/promises/src/CancellationException.php +9 -0
  319. vendor/guzzlehttp/promises/src/Coroutine.php +151 -0
  320. vendor/guzzlehttp/promises/src/EachPromise.php +229 -0
  321. vendor/guzzlehttp/promises/src/FulfilledPromise.php +82 -0
  322. vendor/guzzlehttp/promises/src/Promise.php +280 -0
  323. vendor/guzzlehttp/promises/src/PromiseInterface.php +93 -0
  324. vendor/guzzlehttp/promises/src/PromisorInterface.php +15 -0
  325. vendor/guzzlehttp/promises/src/RejectedPromise.php +87 -0
  326. vendor/guzzlehttp/promises/src/RejectionException.php +47 -0
  327. vendor/guzzlehttp/promises/src/TaskQueue.php +66 -0
  328. vendor/guzzlehttp/promises/src/TaskQueueInterface.php +25 -0
  329. vendor/guzzlehttp/promises/src/functions.php +457 -0
  330. vendor/guzzlehttp/promises/src/functions_include.php +6 -0
  331. vendor/guzzlehttp/psr7/CHANGELOG.md +246 -0
  332. vendor/guzzlehttp/psr7/LICENSE +19 -0
  333. vendor/guzzlehttp/psr7/README.md +745 -0
  334. vendor/guzzlehttp/psr7/composer.json +49 -0
  335. vendor/guzzlehttp/psr7/src/AppendStream.php +241 -0
  336. vendor/guzzlehttp/psr7/src/BufferStream.php +137 -0
  337. vendor/guzzlehttp/psr7/src/CachingStream.php +138 -0
  338. vendor/guzzlehttp/psr7/src/DroppingStream.php +42 -0
  339. vendor/guzzlehttp/psr7/src/FnStream.php +158 -0
  340. vendor/guzzlehttp/psr7/src/InflateStream.php +52 -0
  341. vendor/guzzlehttp/psr7/src/LazyOpenStream.php +39 -0
  342. vendor/guzzlehttp/psr7/src/LimitStream.php +155 -0
  343. vendor/guzzlehttp/psr7/src/MessageTrait.php +213 -0
  344. vendor/guzzlehttp/psr7/src/MultipartStream.php +153 -0
  345. vendor/guzzlehttp/psr7/src/NoSeekStream.php +22 -0
changelog.txt CHANGED
@@ -1,4 +1,12 @@
1
  *** Facebook for WordPress Changelog ***
 
 
 
 
 
 
 
 
2
  2020-08-14 version 2.2.0
3
  * Support for WordPress 5.5
4
  * Improved Conversions API event quality
1
  *** Facebook for WordPress Changelog ***
2
+ 2020-11-04 version 2.2.1
3
+ * Stop sending events for internal users
4
+ * Fix Contact Form 7 integration bug, send events only on form submit success
5
+ * Update Facebook Business SDK to v8.0.2
6
+ * Requires PHP 5.6 or greater
7
+ * Sending ViewContent Conversions API event from WooCommerce
8
+ * Support for WooCommerce through Pixel and Conversions API
9
+
10
  2020-08-14 version 2.2.0
11
  * Support for WordPress 5.5
12
  * Improved Conversions API event quality
composer.json CHANGED
@@ -9,7 +9,7 @@
9
  },
10
  "license": "GPL",
11
  "require": {
12
- "facebook/php-business-sdk": "7.0.3",
13
  "techcrunch/wp-async-task": "dev-master"
14
  },
15
  "autoload": {
9
  },
10
  "license": "GPL",
11
  "require": {
12
+ "facebook/php-business-sdk": "8.0.2",
13
  "techcrunch/wp-async-task": "dev-master"
14
  },
15
  "autoload": {
composer.lock CHANGED
@@ -4,23 +4,27 @@
4
  "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
5
  "This file is @generated automatically"
6
  ],
7
- "content-hash": "8525d272beb712ed341e2acd76074577",
8
  "packages": [
9
  {
10
  "name": "facebook/php-business-sdk",
11
- "version": "7.0.3",
12
  "source": {
13
  "type": "git",
14
  "url": "https://github.com/facebook/facebook-php-business-sdk.git",
15
- "reference": "ddbd867b0ee296f83a4d5a1a4aae5c82fa5a5eaa"
16
  },
17
  "dist": {
18
  "type": "zip",
19
- "url": "https://api.github.com/repos/facebook/facebook-php-business-sdk/zipball/ddbd867b0ee296f83a4d5a1a4aae5c82fa5a5eaa",
20
- "reference": "ddbd867b0ee296f83a4d5a1a4aae5c82fa5a5eaa",
21
  "shasum": ""
22
  },
 
 
 
23
  "require-dev": {
 
24
  "phpunit/phpunit": "~8",
25
  "symfony/finder": "~2.6"
26
  },
@@ -41,7 +45,647 @@
41
  "page",
42
  "sdk"
43
  ],
44
- "time": "2020-07-20T17:04:42+00:00"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
45
  },
46
  {
47
  "name": "techcrunch/wp-async-task",
@@ -1088,6 +1732,7 @@
1088
  "keywords": [
1089
  "tokenizer"
1090
  ],
 
1091
  "time": "2017-11-27T05:48:46+00:00"
1092
  },
1093
  {
@@ -1917,6 +2562,20 @@
1917
  ],
1918
  "description": "Symfony Console Component",
1919
  "homepage": "https://symfony.com",
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1920
  "time": "2020-07-06T13:18:39+00:00"
1921
  },
1922
  {
@@ -1979,6 +2638,20 @@
1979
  "polyfill",
1980
  "portable"
1981
  ],
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1982
  "time": "2020-07-14T12:35:20+00:00"
1983
  },
1984
  {
@@ -2042,6 +2715,20 @@
2042
  "portable",
2043
  "shim"
2044
  ],
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2045
  "time": "2020-07-14T12:35:20+00:00"
2046
  },
2047
  {
@@ -2104,6 +2791,20 @@
2104
  "portable",
2105
  "shim"
2106
  ],
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2107
  "time": "2020-07-14T12:35:20+00:00"
2108
  },
2109
  {
@@ -2170,6 +2871,20 @@
2170
  "portable",
2171
  "shim"
2172
  ],
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2173
  "time": "2020-07-14T12:35:20+00:00"
2174
  },
2175
  {
@@ -2232,6 +2947,20 @@
2232
  "interoperability",
2233
  "standards"
2234
  ],
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2235
  "time": "2020-07-06T13:23:11+00:00"
2236
  },
2237
  {
@@ -2291,6 +3020,20 @@
2291
  ],
2292
  "description": "Symfony Yaml Component",
2293
  "homepage": "https://symfony.com",
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2294
  "time": "2020-05-20T08:37:50+00:00"
2295
  },
2296
  {
@@ -2392,5 +3135,6 @@
2392
  "prefer-stable": false,
2393
  "prefer-lowest": false,
2394
  "platform": [],
2395
- "platform-dev": []
 
2396
  }
4
  "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
5
  "This file is @generated automatically"
6
  ],
7
+ "content-hash": "a0aad8d1bffd3ae28611c14df87c968a",
8
  "packages": [
9
  {
10
  "name": "facebook/php-business-sdk",
11
+ "version": "8.0.2",
12
  "source": {
13
  "type": "git",
14
  "url": "https://github.com/facebook/facebook-php-business-sdk.git",
15
+ "reference": "637fce87380d4a65f6d4c24cc79664fa28c3428d"
16
  },
17
  "dist": {
18
  "type": "zip",
19
+ "url": "https://api.github.com/repos/facebook/facebook-php-business-sdk/zipball/637fce87380d4a65f6d4c24cc79664fa28c3428d",
20
+ "reference": "637fce87380d4a65f6d4c24cc79664fa28c3428d",
21
  "shasum": ""
22
  },
23
+ "require": {
24
+ "guzzlehttp/guzzle": "^6.5"
25
+ },
26
  "require-dev": {
27
+ "mockery/mockery": "1.3.3",
28
  "phpunit/phpunit": "~8",
29
  "symfony/finder": "~2.6"
30
  },
45
  "page",
46
  "sdk"
47
  ],
48
+ "time": "2020-09-18T00:34:44+00:00"
49
+ },
50
+ {
51
+ "name": "guzzlehttp/guzzle",
52
+ "version": "6.5.5",
53
+ "source": {
54
+ "type": "git",
55
+ "url": "https://github.com/guzzle/guzzle.git",
56
+ "reference": "9d4290de1cfd701f38099ef7e183b64b4b7b0c5e"
57
+ },
58
+ "dist": {
59
+ "type": "zip",
60
+ "url": "https://api.github.com/repos/guzzle/guzzle/zipball/9d4290de1cfd701f38099ef7e183b64b4b7b0c5e",
61
+ "reference": "9d4290de1cfd701f38099ef7e183b64b4b7b0c5e",
62
+ "shasum": ""
63
+ },
64
+ "require": {
65
+ "ext-json": "*",
66
+ "guzzlehttp/promises": "^1.0",
67
+ "guzzlehttp/psr7": "^1.6.1",
68
+ "php": ">=5.5",
69
+ "symfony/polyfill-intl-idn": "^1.17.0"
70
+ },
71
+ "require-dev": {
72
+ "ext-curl": "*",
73
+ "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.4 || ^7.0",
74
+ "psr/log": "^1.1"
75
+ },
76
+ "suggest": {
77
+ "psr/log": "Required for using the Log middleware"
78
+ },
79
+ "type": "library",
80
+ "extra": {
81
+ "branch-alias": {
82
+ "dev-master": "6.5-dev"
83
+ }
84
+ },
85
+ "autoload": {
86
+ "psr-4": {
87
+ "GuzzleHttp\\": "src/"
88
+ },
89
+ "files": [
90
+ "src/functions_include.php"
91
+ ]
92
+ },
93
+ "notification-url": "https://packagist.org/downloads/",
94
+ "license": [
95
+ "MIT"
96
+ ],
97
+ "authors": [
98
+ {
99
+ "name": "Michael Dowling",
100
+ "email": "mtdowling@gmail.com",
101
+ "homepage": "https://github.com/mtdowling"
102
+ }
103
+ ],
104
+ "description": "Guzzle is a PHP HTTP client library",
105
+ "homepage": "http://guzzlephp.org/",
106
+ "keywords": [
107
+ "client",
108
+ "curl",
109
+ "framework",
110
+ "http",
111
+ "http client",
112
+ "rest",
113
+ "web service"
114
+ ],
115
+ "time": "2020-06-16T21:01:06+00:00"
116
+ },
117
+ {
118
+ "name": "guzzlehttp/promises",
119
+ "version": "v1.3.1",
120
+ "source": {
121
+ "type": "git",
122
+ "url": "https://github.com/guzzle/promises.git",
123
+ "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646"
124
+ },
125
+ "dist": {
126
+ "type": "zip",
127
+ "url": "https://api.github.com/repos/guzzle/promises/zipball/a59da6cf61d80060647ff4d3eb2c03a2bc694646",
128
+ "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646",
129
+ "shasum": ""
130
+ },
131
+ "require": {
132
+ "php": ">=5.5.0"
133
+ },
134
+ "require-dev": {
135
+ "phpunit/phpunit": "^4.0"
136
+ },
137
+ "type": "library",
138
+ "extra": {
139
+ "branch-alias": {
140
+ "dev-master": "1.4-dev"
141
+ }
142
+ },
143
+ "autoload": {
144
+ "psr-4": {
145
+ "GuzzleHttp\\Promise\\": "src/"
146
+ },
147
+ "files": [
148
+ "src/functions_include.php"
149
+ ]
150
+ },
151
+ "notification-url": "https://packagist.org/downloads/",
152
+ "license": [
153
+ "MIT"
154
+ ],
155
+ "authors": [
156
+ {
157
+ "name": "Michael Dowling",
158
+ "email": "mtdowling@gmail.com",
159
+ "homepage": "https://github.com/mtdowling"
160
+ }
161
+ ],
162
+ "description": "Guzzle promises library",
163
+ "keywords": [
164
+ "promise"
165
+ ],
166
+ "time": "2016-12-20T10:07:11+00:00"
167
+ },
168
+ {
169
+ "name": "guzzlehttp/psr7",
170
+ "version": "1.6.1",
171
+ "source": {
172
+ "type": "git",
173
+ "url": "https://github.com/guzzle/psr7.git",
174
+ "reference": "239400de7a173fe9901b9ac7c06497751f00727a"
175
+ },
176
+ "dist": {
177
+ "type": "zip",
178
+ "url": "https://api.github.com/repos/guzzle/psr7/zipball/239400de7a173fe9901b9ac7c06497751f00727a",
179
+ "reference": "239400de7a173fe9901b9ac7c06497751f00727a",
180
+ "shasum": ""
181
+ },
182
+ "require": {
183
+ "php": ">=5.4.0",
184
+ "psr/http-message": "~1.0",
185
+ "ralouphie/getallheaders": "^2.0.5 || ^3.0.0"
186
+ },
187
+ "provide": {
188
+ "psr/http-message-implementation": "1.0"
189
+ },
190
+ "require-dev": {
191
+ "ext-zlib": "*",
192
+ "phpunit/phpunit": "~4.8.36 || ^5.7.27 || ^6.5.8"
193
+ },
194
+ "suggest": {
195
+ "zendframework/zend-httphandlerrunner": "Emit PSR-7 responses"
196
+ },
197
+ "type": "library",
198
+ "extra": {
199
+ "branch-alias": {
200
+ "dev-master": "1.6-dev"
201
+ }
202
+ },
203
+ "autoload": {
204
+ "psr-4": {
205
+ "GuzzleHttp\\Psr7\\": "src/"
206
+ },
207
+ "files": [
208
+ "src/functions_include.php"
209
+ ]
210
+ },
211
+ "notification-url": "https://packagist.org/downloads/",
212
+ "license": [
213
+ "MIT"
214
+ ],
215
+ "authors": [
216
+ {
217
+ "name": "Michael Dowling",
218
+ "email": "mtdowling@gmail.com",
219
+ "homepage": "https://github.com/mtdowling"
220
+ },
221
+ {
222
+ "name": "Tobias Schultze",
223
+ "homepage": "https://github.com/Tobion"
224
+ }
225
+ ],
226
+ "description": "PSR-7 message implementation that also provides common utility methods",
227
+ "keywords": [
228
+ "http",
229
+ "message",
230
+ "psr-7",
231
+ "request",
232
+ "response",
233
+ "stream",
234
+ "uri",
235
+ "url"
236
+ ],
237
+ "time": "2019-07-01T23:21:34+00:00"
238
+ },
239
+ {
240
+ "name": "paragonie/random_compat",
241
+ "version": "v9.99.99",
242
+ "source": {
243
+ "type": "git",
244
+ "url": "https://github.com/paragonie/random_compat.git",
245
+ "reference": "84b4dfb120c6f9b4ff7b3685f9b8f1aa365a0c95"
246
+ },
247
+ "dist": {
248
+ "type": "zip",
249
+ "url": "https://api.github.com/repos/paragonie/random_compat/zipball/84b4dfb120c6f9b4ff7b3685f9b8f1aa365a0c95",
250
+ "reference": "84b4dfb120c6f9b4ff7b3685f9b8f1aa365a0c95",
251
+ "shasum": ""
252
+ },
253
+ "require": {
254
+ "php": "^7"
255
+ },
256
+ "require-dev": {
257
+ "phpunit/phpunit": "4.*|5.*",
258
+ "vimeo/psalm": "^1"
259
+ },
260
+ "suggest": {
261
+ "ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes."
262
+ },
263
+ "type": "library",
264
+ "notification-url": "https://packagist.org/downloads/",
265
+ "license": [
266
+ "MIT"
267
+ ],
268
+ "authors": [
269
+ {
270
+ "name": "Paragon Initiative Enterprises",
271
+ "email": "security@paragonie.com",
272
+ "homepage": "https://paragonie.com"
273
+ }
274
+ ],
275
+ "description": "PHP 5.x polyfill for random_bytes() and random_int() from PHP 7",
276
+ "keywords": [
277
+ "csprng",
278
+ "polyfill",
279
+ "pseudorandom",
280
+ "random"
281
+ ],
282
+ "time": "2018-07-02T15:55:56+00:00"
283
+ },
284
+ {
285
+ "name": "psr/http-message",
286
+ "version": "1.0.1",
287
+ "source": {
288
+ "type": "git",
289
+ "url": "https://github.com/php-fig/http-message.git",
290
+ "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363"
291
+ },
292
+ "dist": {
293
+ "type": "zip",
294
+ "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363",
295
+ "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363",
296
+ "shasum": ""
297
+ },
298
+ "require": {
299
+ "php": ">=5.3.0"
300
+ },
301
+ "type": "library",
302
+ "extra": {
303
+ "branch-alias": {
304
+ "dev-master": "1.0.x-dev"
305
+ }
306
+ },
307
+ "autoload": {
308
+ "psr-4": {
309
+ "Psr\\Http\\Message\\": "src/"
310
+ }
311
+ },
312
+ "notification-url": "https://packagist.org/downloads/",
313
+ "license": [
314
+ "MIT"
315
+ ],
316
+ "authors": [
317
+ {
318
+ "name": "PHP-FIG",
319
+ "homepage": "http://www.php-fig.org/"
320
+ }
321
+ ],
322
+ "description": "Common interface for HTTP messages",
323
+ "homepage": "https://github.com/php-fig/http-message",
324
+ "keywords": [
325
+ "http",
326
+ "http-message",
327
+ "psr",
328
+ "psr-7",
329
+ "request",
330
+ "response"
331
+ ],
332
+ "time": "2016-08-06T14:39:51+00:00"
333
+ },
334
+ {
335
+ "name": "ralouphie/getallheaders",
336
+ "version": "3.0.3",
337
+ "source": {
338
+ "type": "git",
339
+ "url": "https://github.com/ralouphie/getallheaders.git",
340
+ "reference": "120b605dfeb996808c31b6477290a714d356e822"
341
+ },
342
+ "dist": {
343
+ "type": "zip",
344
+ "url": "https://api.github.com/repos/ralouphie/getallheaders/zipball/120b605dfeb996808c31b6477290a714d356e822",
345
+ "reference": "120b605dfeb996808c31b6477290a714d356e822",
346
+ "shasum": ""
347
+ },
348
+ "require": {
349
+ "php": ">=5.6"
350
+ },
351
+ "require-dev": {
352
+ "php-coveralls/php-coveralls": "^2.1",
353
+ "phpunit/phpunit": "^5 || ^6.5"
354
+ },
355
+ "type": "library",
356
+ "autoload": {
357
+ "files": [
358
+ "src/getallheaders.php"
359
+ ]
360
+ },
361
+ "notification-url": "https://packagist.org/downloads/",
362
+ "license": [
363
+ "MIT"
364
+ ],
365
+ "authors": [
366
+ {
367
+ "name": "Ralph Khattar",
368
+ "email": "ralph.khattar@gmail.com"
369
+ }
370
+ ],
371
+ "description": "A polyfill for getallheaders.",
372
+ "time": "2019-03-08T08:55:37+00:00"
373
+ },
374
+ {
375
+ "name": "symfony/polyfill-intl-idn",
376
+ "version": "v1.18.1",
377
+ "source": {
378
+ "type": "git",
379
+ "url": "https://github.com/symfony/polyfill-intl-idn.git",
380
+ "reference": "5dcab1bc7146cf8c1beaa4502a3d9be344334251"
381
+ },
382
+ "dist": {
383
+ "type": "zip",
384
+ "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/5dcab1bc7146cf8c1beaa4502a3d9be344334251",
385
+ "reference": "5dcab1bc7146cf8c1beaa4502a3d9be344334251",
386
+ "shasum": ""
387
+ },
388
+ "require": {
389
+ "php": ">=5.3.3",
390
+ "symfony/polyfill-intl-normalizer": "^1.10",
391
+ "symfony/polyfill-php70": "^1.10",
392
+ "symfony/polyfill-php72": "^1.10"
393
+ },
394
+ "suggest": {
395
+ "ext-intl": "For best performance"
396
+ },
397
+ "type": "library",
398
+ "extra": {
399
+ "branch-alias": {
400
+ "dev-master": "1.18-dev"
401
+ },
402
+ "thanks": {
403
+ "name": "symfony/polyfill",
404
+ "url": "https://github.com/symfony/polyfill"
405
+ }
406
+ },
407
+ "autoload": {
408
+ "psr-4": {
409
+ "Symfony\\Polyfill\\Intl\\Idn\\": ""
410
+ },
411
+ "files": [
412
+ "bootstrap.php"
413
+ ]
414
+ },
415
+ "notification-url": "https://packagist.org/downloads/",
416
+ "license": [
417
+ "MIT"
418
+ ],
419
+ "authors": [
420
+ {
421
+ "name": "Laurent Bassin",
422
+ "email": "laurent@bassin.info"
423
+ },
424
+ {
425
+ "name": "Trevor Rowbotham",
426
+ "email": "trevor.rowbotham@pm.me"
427
+ },
428
+ {
429
+ "name": "Symfony Community",
430
+ "homepage": "https://symfony.com/contributors"
431
+ }
432
+ ],
433
+ "description": "Symfony polyfill for intl's idn_to_ascii and idn_to_utf8 functions",
434
+ "homepage": "https://symfony.com",
435
+ "keywords": [
436
+ "compatibility",
437
+ "idn",
438
+ "intl",
439
+ "polyfill",
440
+ "portable",
441
+ "shim"
442
+ ],
443
+ "funding": [
444
+ {
445
+ "url": "https://symfony.com/sponsor",
446
+ "type": "custom"
447
+ },
448
+ {
449
+ "url": "https://github.com/fabpot",
450
+ "type": "github"
451
+ },
452
+ {
453
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
454
+ "type": "tidelift"
455
+ }
456
+ ],
457
+ "time": "2020-08-04T06:02:08+00:00"
458
+ },
459
+ {
460
+ "name": "symfony/polyfill-intl-normalizer",
461
+ "version": "v1.18.1",
462
+ "source": {
463
+ "type": "git",
464
+ "url": "https://github.com/symfony/polyfill-intl-normalizer.git",
465
+ "reference": "37078a8dd4a2a1e9ab0231af7c6cb671b2ed5a7e"
466
+ },
467
+ "dist": {
468
+ "type": "zip",
469
+ "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/37078a8dd4a2a1e9ab0231af7c6cb671b2ed5a7e",
470
+ "reference": "37078a8dd4a2a1e9ab0231af7c6cb671b2ed5a7e",
471
+ "shasum": ""
472
+ },
473
+ "require": {
474
+ "php": ">=5.3.3"
475
+ },
476
+ "suggest": {
477
+ "ext-intl": "For best performance"
478
+ },
479
+ "type": "library",
480
+ "extra": {
481
+ "branch-alias": {
482
+ "dev-master": "1.18-dev"
483
+ },
484
+ "thanks": {
485
+ "name": "symfony/polyfill",
486
+ "url": "https://github.com/symfony/polyfill"
487
+ }
488
+ },
489
+ "autoload": {
490
+ "psr-4": {
491
+ "Symfony\\Polyfill\\Intl\\Normalizer\\": ""
492
+ },
493
+ "files": [
494
+ "bootstrap.php"
495
+ ],
496
+ "classmap": [
497
+ "Resources/stubs"
498
+ ]
499
+ },
500
+ "notification-url": "https://packagist.org/downloads/",
501
+ "license": [
502
+ "MIT"
503
+ ],
504
+ "authors": [
505
+ {
506
+ "name": "Nicolas Grekas",
507
+ "email": "p@tchwork.com"
508
+ },
509
+ {
510
+ "name": "Symfony Community",
511
+ "homepage": "https://symfony.com/contributors"
512
+ }
513
+ ],
514
+ "description": "Symfony polyfill for intl's Normalizer class and related functions",
515
+ "homepage": "https://symfony.com",
516
+ "keywords": [
517
+ "compatibility",
518
+ "intl",
519
+ "normalizer",
520
+ "polyfill",
521
+ "portable",
522
+ "shim"
523
+ ],
524
+ "funding": [
525
+ {
526
+ "url": "https://symfony.com/sponsor",
527
+ "type": "custom"
528
+ },
529
+ {
530
+ "url": "https://github.com/fabpot",
531
+ "type": "github"
532
+ },
533
+ {
534
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
535
+ "type": "tidelift"
536
+ }
537
+ ],
538
+ "time": "2020-07-14T12:35:20+00:00"
539
+ },
540
+ {
541
+ "name": "symfony/polyfill-php70",
542
+ "version": "v1.18.1",
543
+ "source": {
544
+ "type": "git",
545
+ "url": "https://github.com/symfony/polyfill-php70.git",
546
+ "reference": "0dd93f2c578bdc9c72697eaa5f1dd25644e618d3"
547
+ },
548
+ "dist": {
549
+ "type": "zip",
550
+ "url": "https://api.github.com/repos/symfony/polyfill-php70/zipball/0dd93f2c578bdc9c72697eaa5f1dd25644e618d3",
551
+ "reference": "0dd93f2c578bdc9c72697eaa5f1dd25644e618d3",
552
+ "shasum": ""
553
+ },
554
+ "require": {
555
+ "paragonie/random_compat": "~1.0|~2.0|~9.99",
556
+ "php": ">=5.3.3"
557
+ },
558
+ "type": "library",
559
+ "extra": {
560
+ "branch-alias": {
561
+ "dev-master": "1.18-dev"
562
+ },
563
+ "thanks": {
564
+ "name": "symfony/polyfill",
565
+ "url": "https://github.com/symfony/polyfill"
566
+ }
567
+ },
568
+ "autoload": {
569
+ "psr-4": {
570
+ "Symfony\\Polyfill\\Php70\\": ""
571
+ },
572
+ "files": [
573
+ "bootstrap.php"
574
+ ],
575
+ "classmap": [
576
+ "Resources/stubs"
577
+ ]
578
+ },
579
+ "notification-url": "https://packagist.org/downloads/",
580
+ "license": [
581
+ "MIT"
582
+ ],
583
+ "authors": [
584
+ {
585
+ "name": "Nicolas Grekas",
586
+ "email": "p@tchwork.com"
587
+ },
588
+ {
589
+ "name": "Symfony Community",
590
+ "homepage": "https://symfony.com/contributors"
591
+ }
592
+ ],
593
+ "description": "Symfony polyfill backporting some PHP 7.0+ features to lower PHP versions",
594
+ "homepage": "https://symfony.com",
595
+ "keywords": [
596
+ "compatibility",
597
+ "polyfill",
598
+ "portable",
599
+ "shim"
600
+ ],
601
+ "funding": [
602
+ {
603
+ "url": "https://symfony.com/sponsor",
604
+ "type": "custom"
605
+ },
606
+ {
607
+ "url": "https://github.com/fabpot",
608
+ "type": "github"
609
+ },
610
+ {
611
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
612
+ "type": "tidelift"
613
+ }
614
+ ],
615
+ "time": "2020-07-14T12:35:20+00:00"
616
+ },
617
+ {
618
+ "name": "symfony/polyfill-php72",
619
+ "version": "v1.18.1",
620
+ "source": {
621
+ "type": "git",
622
+ "url": "https://github.com/symfony/polyfill-php72.git",
623
+ "reference": "639447d008615574653fb3bc60d1986d7172eaae"
624
+ },
625
+ "dist": {
626
+ "type": "zip",
627
+ "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/639447d008615574653fb3bc60d1986d7172eaae",
628
+ "reference": "639447d008615574653fb3bc60d1986d7172eaae",
629
+ "shasum": ""
630
+ },
631
+ "require": {
632
+ "php": ">=5.3.3"
633
+ },
634
+ "type": "library",
635
+ "extra": {
636
+ "branch-alias": {
637
+ "dev-master": "1.18-dev"
638
+ },
639
+ "thanks": {
640
+ "name": "symfony/polyfill",
641
+ "url": "https://github.com/symfony/polyfill"
642
+ }
643
+ },
644
+ "autoload": {
645
+ "psr-4": {
646
+ "Symfony\\Polyfill\\Php72\\": ""
647
+ },
648
+ "files": [
649
+ "bootstrap.php"
650
+ ]
651
+ },
652
+ "notification-url": "https://packagist.org/downloads/",
653
+ "license": [
654
+ "MIT"
655
+ ],
656
+ "authors": [
657
+ {
658
+ "name": "Nicolas Grekas",
659
+ "email": "p@tchwork.com"
660
+ },
661
+ {
662
+ "name": "Symfony Community",
663
+ "homepage": "https://symfony.com/contributors"
664
+ }
665
+ ],
666
+ "description": "Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions",
667
+ "homepage": "https://symfony.com",
668
+ "keywords": [
669
+ "compatibility",
670
+ "polyfill",
671
+ "portable",
672
+ "shim"
673
+ ],
674
+ "funding": [
675
+ {
676
+ "url": "https://symfony.com/sponsor",
677
+ "type": "custom"
678
+ },
679
+ {
680
+ "url": "https://github.com/fabpot",
681
+ "type": "github"
682
+ },
683
+ {
684
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
685
+ "type": "tidelift"
686
+ }
687
+ ],
688
+ "time": "2020-07-14T12:35:20+00:00"
689
  },
690
  {
691
  "name": "techcrunch/wp-async-task",
1732
  "keywords": [
1733
  "tokenizer"
1734
  ],
1735
+ "abandoned": true,
1736
  "time": "2017-11-27T05:48:46+00:00"
1737
  },
1738
  {
2562
  ],
2563
  "description": "Symfony Console Component",
2564
  "homepage": "https://symfony.com",
2565
+ "funding": [
2566
+ {
2567
+ "url": "https://symfony.com/sponsor",
2568
+ "type": "custom"
2569
+ },
2570
+ {
2571
+ "url": "https://github.com/fabpot",
2572
+ "type": "github"
2573
+ },
2574
+ {
2575
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
2576
+ "type": "tidelift"
2577
+ }
2578
+ ],
2579
  "time": "2020-07-06T13:18:39+00:00"
2580
  },
2581
  {
2638
  "polyfill",
2639
  "portable"
2640
  ],
2641
+ "funding": [
2642
+ {
2643
+ "url": "https://symfony.com/sponsor",
2644
+ "type": "custom"
2645
+ },
2646
+ {
2647
+ "url": "https://github.com/fabpot",
2648
+ "type": "github"
2649
+ },
2650
+ {
2651
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
2652
+ "type": "tidelift"
2653
+ }
2654
+ ],
2655
  "time": "2020-07-14T12:35:20+00:00"
2656
  },
2657
  {
2715
  "portable",
2716
  "shim"
2717
  ],
2718
+ "funding": [
2719
+ {
2720
+ "url": "https://symfony.com/sponsor",
2721
+ "type": "custom"
2722
+ },
2723
+ {
2724
+ "url": "https://github.com/fabpot",
2725
+ "type": "github"
2726
+ },
2727
+ {
2728
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
2729
+ "type": "tidelift"
2730
+ }
2731
+ ],
2732
  "time": "2020-07-14T12:35:20+00:00"
2733
  },
2734
  {
2791
  "portable",
2792
  "shim"
2793
  ],
2794
+ "funding": [
2795
+ {
2796
+ "url": "https://symfony.com/sponsor",
2797
+ "type": "custom"
2798
+ },
2799
+ {
2800
+ "url": "https://github.com/fabpot",
2801
+ "type": "github"
2802
+ },
2803
+ {
2804
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
2805
+ "type": "tidelift"
2806
+ }
2807
+ ],
2808
  "time": "2020-07-14T12:35:20+00:00"
2809
  },
2810
  {
2871
  "portable",
2872
  "shim"
2873
  ],
2874
+ "funding": [
2875
+ {
2876
+ "url": "https://symfony.com/sponsor",
2877
+ "type": "custom"
2878
+ },
2879
+ {
2880
+ "url": "https://github.com/fabpot",
2881
+ "type": "github"
2882
+ },
2883
+ {
2884
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
2885
+ "type": "tidelift"
2886
+ }
2887
+ ],
2888
  "time": "2020-07-14T12:35:20+00:00"
2889
  },
2890
  {
2947
  "interoperability",
2948
  "standards"
2949
  ],
2950
+ "funding": [
2951
+ {
2952
+ "url": "https://symfony.com/sponsor",
2953
+ "type": "custom"
2954
+ },
2955
+ {
2956
+ "url": "https://github.com/fabpot",
2957
+ "type": "github"
2958
+ },
2959
+ {
2960
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
2961
+ "type": "tidelift"
2962
+ }
2963
+ ],
2964
  "time": "2020-07-06T13:23:11+00:00"
2965
  },
2966
  {
3020
  ],
3021
  "description": "Symfony Yaml Component",
3022
  "homepage": "https://symfony.com",
3023
+ "funding": [
3024
+ {
3025
+ "url": "https://symfony.com/sponsor",
3026
+ "type": "custom"
3027
+ },
3028
+ {
3029
+ "url": "https://github.com/fabpot",
3030
+ "type": "github"
3031
+ },
3032
+ {
3033
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
3034
+ "type": "tidelift"
3035
+ }
3036
+ ],
3037
  "time": "2020-05-20T08:37:50+00:00"
3038
  },
3039
  {
3135
  "prefer-stable": false,
3136
  "prefer-lowest": false,
3137
  "platform": [],
3138
+ "platform-dev": [],
3139
+ "plugin-api-version": "1.1.0"
3140
  }
core/FacebookPluginConfig.php CHANGED
@@ -20,7 +20,7 @@ namespace FacebookPixelPlugin\Core;
20
  defined('ABSPATH') or die('Direct access not allowed');
21
 
22
  class FacebookPluginConfig {
23
- const PLUGIN_VERSION = '2.2.0';
24
  const SOURCE = 'wordpress';
25
  const TEXT_DOMAIN = 'official-facebook-pixel';
26
 
20
  defined('ABSPATH') or die('Direct access not allowed');
21
 
22
  class FacebookPluginConfig {
23
+ const PLUGIN_VERSION = '2.2.1';
24
  const SOURCE = 'wordpress';
25
  const TEXT_DOMAIN = 'official-facebook-pixel';
26
 
core/FacebookPluginUtils.php CHANGED
@@ -34,13 +34,6 @@ class FacebookPluginUtils {
34
  return isset($pixel_id) && ctype_digit($pixel_id) && $pixel_id !== '0';
35
  }
36
 
37
- /**
38
- * Whether current user is Administrator.
39
- */
40
- public static function isAdmin() {
41
- return current_user_can('install_plugins');
42
- }
43
-
44
  public static function getLoggedInUserInfo() {
45
  $current_user = wp_get_current_user();
46
  if (empty($current_user)) {
@@ -53,4 +46,14 @@ class FacebookPluginUtils {
53
  'last_name' => $current_user->user_lastname,
54
  );
55
  }
 
 
 
 
 
 
 
 
 
 
56
  }
34
  return isset($pixel_id) && ctype_digit($pixel_id) && $pixel_id !== '0';
35
  }
36
 
 
 
 
 
 
 
 
37
  public static function getLoggedInUserInfo() {
38
  $current_user = wp_get_current_user();
39
  if (empty($current_user)) {
46
  'last_name' => $current_user->user_lastname,
47
  );
48
  }
49
+
50
+ // All standard WordPress user roles are considered internal unless they have
51
+ // the Subscriber role.
52
+ // WooCommerce uses the 'read' capability for its customer role.
53
+ // Also check for the 'upload_files' capability to account for the shop_worker
54
+ // and shop_vendor roles in Easy Digital Downloads.
55
+ // https://wordpress.org/support/article/roles-and-capabilities
56
+ public static function isInternalUser() {
57
+ return current_user_can('edit_posts') || current_user_can('upload_files');
58
+ }
59
  }
core/FacebookServerSideEvent.php CHANGED
@@ -26,26 +26,57 @@ defined('ABSPATH') or die('Direct access not allowed');
26
 
27
  class FacebookServerSideEvent {
28
  private static $instance = null;
29
- private $tracked_events = [];
 
 
 
 
 
 
30
 
31
  public static function getInstance() {
32
  if (self::$instance == null) {
33
  self::$instance = new FacebookServerSideEvent();
34
  }
35
-
36
  return self::$instance;
37
  }
38
 
39
- public function track($event) {
40
- $this->tracked_events[] = $event;
41
-
42
- if (FacebookWordpressOptions::getUseS2S()) {
43
- do_action('send_server_event', $event);
 
 
 
 
 
 
 
44
  }
45
  }
46
 
47
  public function getTrackedEvents() {
48
- return $this->tracked_events;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
49
  }
50
 
51
  public static function send($events) {
26
 
27
  class FacebookServerSideEvent {
28
  private static $instance = null;
29
+ // Contains all the events triggered during the request
30
+ private $trackedEvents = [];
31
+ // Contains all Conversions API events that have not been sent
32
+ private $pendingEvents = [];
33
+ // Maps a callback name with a Conversions API event
34
+ // that hasn't been rendered as pixel event
35
+ private $pendingPixelEvents = [];
36
 
37
  public static function getInstance() {
38
  if (self::$instance == null) {
39
  self::$instance = new FacebookServerSideEvent();
40
  }
 
41
  return self::$instance;
42
  }
43
 
44
+ public function track($event, $sendNow = true) {
45
+ $this->trackedEvents[] = $event;
46
+ if( FacebookWordpressOptions::getUseS2S() ){
47
+ if( $sendNow ){
48
+ do_action( 'send_server_events',
49
+ array($event),
50
+ 1
51
+ );
52
+ }
53
+ else{
54
+ $this->pendingEvents[] = $event;
55
+ }
56
  }
57
  }
58
 
59
  public function getTrackedEvents() {
60
+ return $this->trackedEvents;
61
+ }
62
+
63
+ public function getNumTrackedEvents(){
64
+ return count( $this->trackedEvents );
65
+ }
66
+
67
+ public function getPendingEvents(){
68
+ return $this->pendingEvents;
69
+ }
70
+
71
+ public function setPendingPixelEvent($callback_name, $event){
72
+ $this->pendingPixelEvents[$callback_name] = $event;
73
+ }
74
+
75
+ public function getPendingPixelEvent($callback_name){
76
+ if(array_key_exists($callback_name, $this->pendingPixelEvents)){
77
+ return $this->pendingPixelEvents[$callback_name];
78
+ }
79
+ return null;
80
  }
81
 
82
  public static function send($events) {
core/FacebookWordpressPixelInjection.php CHANGED
@@ -39,6 +39,23 @@ class FacebookWordpressPixelInjection {
39
  $class_name = 'FacebookPixelPlugin\\Integration\\'.$value;
40
  $class_name::injectPixelCode();
41
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
42
  }
43
  }
44
 
39
  $class_name = 'FacebookPixelPlugin\\Integration\\'.$value;
40
  $class_name::injectPixelCode();
41
  }
42
+ add_action(
43
+ 'wp_footer',
44
+ array($this, 'sendPendingEvents'));
45
+ }
46
+ }
47
+
48
+ public function sendPendingEvents(){
49
+ if(FacebookWordpressOptions::getUseS2S()){
50
+ $pending_events =
51
+ FacebookServerSideEvent::getInstance()->getPendingEvents();
52
+ if(count($pending_events) > 0){
53
+ do_action(
54
+ 'send_server_events',
55
+ $pending_events,
56
+ count($pending_events)
57
+ );
58
+ }
59
  }
60
  }
61
 
core/PixelRenderer.php CHANGED
@@ -28,16 +28,24 @@ class PixelRenderer {
28
  const TRACK_CUSTOM = 'trackCustom';
29
  const FB_INTEGRATION_TRACKING = 'fb_integration_tracking';
30
  const SCRIPT_TAG = "<script type='text/javascript'>%s</script>";
31
- const FBQ_CODE = "
32
  fbq('%s', '%s', %s, %s);
33
  ";
 
 
34
 
35
  public static function render($events, $fb_integration_tracking,
36
  $script_tag = true) {
37
  if (empty($events)) {
38
  return "";
39
  }
40
- $code = "";
 
 
 
 
 
 
41
  foreach ($events as $event) {
42
  $code .= self::getPixelTrackCode($event, $fb_integration_tracking);
43
  }
@@ -58,9 +66,8 @@ class PixelRenderer {
58
  }
59
 
60
  $class = new ReflectionClass('FacebookPixelPlugin\Core\FacebookPixel');
61
-
62
  return sprintf(
63
- self::FBQ_CODE,
64
  $class->getConstant(strtoupper($event->getEventName())) !== false
65
  ? self::TRACK : self::TRACK_CUSTOM,
66
  $event->getEventName(),
28
  const TRACK_CUSTOM = 'trackCustom';
29
  const FB_INTEGRATION_TRACKING = 'fb_integration_tracking';
30
  const SCRIPT_TAG = "<script type='text/javascript'>%s</script>";
31
+ const FBQ_EVENT_CODE = "
32
  fbq('%s', '%s', %s, %s);
33
  ";
34
+ const FBQ_AGENT_CODE = "
35
+ fbq('set', 'agent', '%s', '%s');";
36
 
37
  public static function render($events, $fb_integration_tracking,
38
  $script_tag = true) {
39
  if (empty($events)) {
40
  return "";
41
  }
42
+ // The first line of the injected script will set the agent
43
+ // for all the events passed in $events
44
+ $code = sprintf(
45
+ self::FBQ_AGENT_CODE,
46
+ FacebookWordpressOptions::getAgentString(),
47
+ FacebookWordpressOptions::getPixelId()
48
+ );
49
  foreach ($events as $event) {
50
  $code .= self::getPixelTrackCode($event, $fb_integration_tracking);
51
  }
66
  }
67
 
68
  $class = new ReflectionClass('FacebookPixelPlugin\Core\FacebookPixel');
 
69
  return sprintf(
70
+ self::FBQ_EVENT_CODE,
71
  $class->getConstant(strtoupper($event->getEventName())) !== false
72
  ? self::TRACK : self::TRACK_CUSTOM,
73
  $event->getEventName(),
core/ServerEventAsyncTask.php CHANGED
@@ -22,12 +22,15 @@ use FacebookPixelPlugin\Core\FacebookServerSideEvent;
22
  defined('ABSPATH') or die('Direct access not allowed');
23
 
24
  class ServerEventAsyncTask extends \WP_Async_Task {
25
- protected $action = 'send_server_event';
26
 
27
  protected function prepare_data($data) {
28
  try {
29
  if (!empty($data)) {
30
- return array('data' => base64_encode(serialize($data)));
 
 
 
31
  }
32
  } catch (\Exception $ex) {
33
  error_log($ex);
@@ -38,10 +41,17 @@ class ServerEventAsyncTask extends \WP_Async_Task {
38
 
39
  protected function run_action() {
40
  try {
41
- $events = unserialize(base64_decode($_POST['data']));
42
- if (empty($events)) {
43
  return;
44
  }
 
 
 
 
 
 
 
45
 
46
  FacebookServerSideEvent::send($events);
47
  }
22
  defined('ABSPATH') or die('Direct access not allowed');
23
 
24
  class ServerEventAsyncTask extends \WP_Async_Task {
25
+ protected $action = 'send_server_events';
26
 
27
  protected function prepare_data($data) {
28
  try {
29
  if (!empty($data)) {
30
+ return array(
31
+ 'event_data' => base64_encode(serialize($data[0])),
32
+ 'num_events'=>$data[1]
33
+ );
34
  }
35
  } catch (\Exception $ex) {
36
  error_log($ex);
41
 
42
  protected function run_action() {
43
  try {
44
+ $num_events = $_POST['num_events'];
45
+ if( $num_events == 0 ){
46
  return;
47
  }
48
+ $events = unserialize(base64_decode($_POST['event_data']));
49
+ // When an array has just one object, the deserialization process
50
+ // returns just the object
51
+ // and we want an array
52
+ if( $num_events == 1 ){
53
+ $events = array( $events );
54
+ }
55
 
56
  FacebookServerSideEvent::send($events);
57
  }
core/ServerEventFactory.php CHANGED
@@ -215,6 +215,10 @@ class ServerEventFactory {
215
  if (!empty($data['content_name'])) {
216
  $custom_data->setContentName($data['content_name']);
217
  }
 
 
 
 
218
  } catch (\Exception $e) {
219
  // Need to log
220
  }
215
  if (!empty($data['content_name'])) {
216
  $custom_data->setContentName($data['content_name']);
217
  }
218
+
219
+ if (!empty($data['content_category'])){
220
+ $custom_data->setContentCategory($data['content_category']);
221
+ }
222
  } catch (\Exception $e) {
223
  // Need to log
224
  }
facebook-for-wordpress.php CHANGED
@@ -5,7 +5,7 @@
5
  * Description: <strong><em>***ATTENTION: After upgrade the plugin may be deactivated due to a known issue, to workaround please refresh this page and activate plugin.***</em></strong> The Facebook pixel is an analytics tool that helps you measure the effectiveness of your advertising. You can use the Facebook pixel to understand the actions people are taking on your website and reach audiences you care about.
6
  * Author: Facebook
7
  * Author URI: https://www.facebook.com/
8
- * Version: 2.2.0
9
  * Text Domain: official-facebook-pixel
10
  */
11
 
5
  * Description: <strong><em>***ATTENTION: After upgrade the plugin may be deactivated due to a known issue, to workaround please refresh this page and activate plugin.***</em></strong> The Facebook pixel is an analytics tool that helps you measure the effectiveness of your advertising. You can use the Facebook pixel to understand the actions people are taking on your website and reach audiences you care about.
6
  * Author: Facebook
7
  * Author URI: https://www.facebook.com/
8
+ * Version: 2.2.1
9
  * Text Domain: official-facebook-pixel
10
  */
11
 
integration/FacebookWordpressCalderaForm.php CHANGED
@@ -39,7 +39,10 @@ class FacebookWordpressCalderaForm extends FacebookWordpressIntegrationBase {
39
  }
40
 
41
  public static function injectLeadEvent($out, $form) {
42
- if (FacebookPluginUtils::isAdmin() || $out['status'] !== 'complete') {
 
 
 
43
  return $out;
44
  }
45
 
39
  }
40
 
41
  public static function injectLeadEvent($out, $form) {
42
+ if (
43
+ FacebookPluginUtils::isInternalUser() ||
44
+ $out['status'] !== 'complete'
45
+ ) {
46
  return $out;
47
  }
48
 
integration/FacebookWordpressContactForm7.php CHANGED
@@ -39,7 +39,9 @@ class FacebookWordpressContactForm7 extends FacebookWordpressIntegrationBase {
39
  }
40
 
41
  public static function trackServerEvent($form, $result) {
42
- if (FacebookPluginUtils::isAdmin()) {
 
 
43
  return $result;
44
  }
45
 
@@ -61,7 +63,7 @@ class FacebookWordpressContactForm7 extends FacebookWordpressIntegrationBase {
61
  }
62
 
63
  public static function injectLeadEvent($response, $result) {
64
- if (FacebookPluginUtils::isAdmin()) {
65
  return $response;
66
  }
67
 
39
  }
40
 
41
  public static function trackServerEvent($form, $result) {
42
+ $isInternalUser = FacebookPluginUtils::isInternalUser();
43
+ $submitFailed = $result['status'] !== 'mail_sent';
44
+ if ($isInternalUser || $submitFailed) {
45
  return $result;
46
  }
47
 
63
  }
64
 
65
  public static function injectLeadEvent($response, $result) {
66
+ if (FacebookPluginUtils::isInternalUser()) {
67
  return $response;
68
  }
69
 
integration/FacebookWordpressEasyDigitalDownloads.php CHANGED
@@ -60,7 +60,7 @@ jQuery(document).ready(function ($) {
60
  '%s': '%s',
61
  'value': value
62
  };
63
-
64
  if(event_id){
65
  fbq('track', 'AddToCart', param, {'eventID': event_id});
66
  }
@@ -122,7 +122,7 @@ jQuery(document).ready(function ($) {
122
  }
123
 
124
  public static function injectAddToCartEventId(){
125
- if(FacebookPluginUtils::isAdmin()
126
  || !FacebookWordpressOptions::getUseS2S()){
127
  return;
128
  }
@@ -143,7 +143,7 @@ jQuery(document).ready(function ($) {
143
  //Getting form data
144
  parse_str( $_POST['post_data'], $post_data );
145
  if(isset($post_data['facebook_event_id'])){
146
- //Starting CAPI event creation
147
  $event_id = $post_data['facebook_event_id'];
148
  $server_event = ServerEventFactory::safeCreateEvent(
149
  'AddToCart',
@@ -158,14 +158,16 @@ jQuery(document).ready(function ($) {
158
  }
159
 
160
  public static function injectAddToCartListener($download_id) {
161
- if (FacebookPluginUtils::isAdmin()) {
162
  return;
163
  }
164
 
165
  $listener_code = sprintf(
166
  self::$addToCartJS,
167
  FacebookPixel::FB_INTEGRATION_TRACKING_KEY,
168
- self::TRACKING_NAME
 
 
169
  );
170
 
171
  printf("
@@ -179,7 +181,7 @@ jQuery(document).ready(function ($) {
179
  }
180
 
181
  public static function injectInitiateCheckoutEvent() {
182
- if (FacebookPluginUtils::isAdmin() || !function_exists('EDD')) {
183
  return;
184
  }
185
 
@@ -201,7 +203,7 @@ jQuery(document).ready(function ($) {
201
  }
202
 
203
  public static function trackPurchaseEvent($payment, $edd_receipt_args) {
204
- if (FacebookPluginUtils::isAdmin() || empty($payment->ID)) {
205
  return;
206
  }
207
 
@@ -233,7 +235,7 @@ jQuery(document).ready(function ($) {
233