Official Facebook Pixel - Version 2.0.0

Version Description

Download this release

Release Info

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

Code changes from version 1.8.0 to 2.0.0

Files changed (218) hide show
  1. changelog.txt +3 -0
  2. composer.json +5 -2
  3. composer.lock +394 -197
  4. core/EventIdGenerator.php +34 -0
  5. core/FacebookPluginConfig.php +6 -1
  6. core/FacebookPluginUtils.php +13 -0
  7. core/FacebookServerSideEvent.php +68 -0
  8. core/FacebookWordpressOptions.php +25 -0
  9. core/FacebookWordpressPixelInjection.php +3 -0
  10. core/FacebookWordpressSettingsPage.php +72 -0
  11. core/PixelRenderer.php +72 -0
  12. core/ServerEventAsyncTask.php +47 -0
  13. core/ServerEventFactory.php +156 -0
  14. facebook-for-wordpress.php +11 -4
  15. integration/EDDUtils.php +30 -0
  16. integration/FacebookWordpressCalderaForm.php +52 -3
  17. integration/FacebookWordpressContactForm7.php +82 -19
  18. integration/FacebookWordpressEasyDigitalDownloads.php +64 -25
  19. integration/FacebookWordpressFormidableForm.php +91 -10
  20. integration/FacebookWordpressGravityForms.php +69 -4
  21. integration/FacebookWordpressMailchimpForWp.php +28 -3
  22. integration/FacebookWordpressNinjaForms.php +57 -12
  23. integration/FacebookWordpressWPECommerce.php +74 -26
  24. integration/FacebookWordpressWPForms.php +78 -22
  25. integration/IntegrationUtils.php +26 -0
  26. languages/official-facebook-pixel-ar_AR.po +1 -1
  27. languages/official-facebook-pixel-cs_CZ.po +1 -1
  28. languages/official-facebook-pixel-da_DK.po +1 -1
  29. languages/official-facebook-pixel-de_DE.po +1 -1
  30. languages/official-facebook-pixel-en_GB.po +1 -1
  31. languages/official-facebook-pixel-es_ES.po +1 -1
  32. languages/official-facebook-pixel-es_LA.po +1 -1
  33. languages/official-facebook-pixel-fi_FI.po +1 -1
  34. languages/official-facebook-pixel-fr_CA.po +1 -1
  35. languages/official-facebook-pixel-fr_FR.po +1 -1
  36. languages/official-facebook-pixel-he_IL.po +1 -1
  37. languages/official-facebook-pixel-it_IT.po +1 -1
  38. languages/official-facebook-pixel-ja_JP.po +1 -1
  39. languages/official-facebook-pixel-ko_KR.po +1 -1
  40. languages/official-facebook-pixel-nb_NO.po +1 -1
  41. languages/official-facebook-pixel-nl_NL.po +1 -1
  42. languages/official-facebook-pixel-pl_PL.po +1 -1
  43. languages/official-facebook-pixel-pt_BR.po +1 -1
  44. languages/official-facebook-pixel-pt_PT.po +1 -1
  45. languages/official-facebook-pixel-ru_RU.po +1 -1
  46. languages/official-facebook-pixel-sv_SE.po +1 -1
  47. languages/official-facebook-pixel-th_TH.po +1 -1
  48. languages/official-facebook-pixel-tr_TR.po +1 -1
  49. languages/official-facebook-pixel-vi_VN.po +1 -1
  50. languages/official-facebook-pixel-zh_CN.po +1 -1
  51. languages/official-facebook-pixel-zh_TW.po +1 -1
  52. languages/official-facebook-pixel.pot +1 -1
  53. readme.txt +11 -6
  54. vendor/autoload.php +1 -1
  55. vendor/composer/autoload_classmap.php +1 -0
  56. vendor/composer/autoload_psr4.php +1 -0
  57. vendor/composer/autoload_real.php +4 -4
  58. vendor/composer/autoload_static.php +13 -3
  59. vendor/composer/installed.json +94 -1
  60. vendor/facebook/php-business-sdk/.github/ISSUE_TEMPLATE.md +3 -0
  61. vendor/facebook/php-business-sdk/.travis.yml +30 -0
  62. vendor/facebook/php-business-sdk/CHANGELOG.md +71 -0
  63. vendor/facebook/php-business-sdk/CODE_OF_CONDUCT.md +3 -0
  64. vendor/facebook/php-business-sdk/CONTRIBUTING.md +45 -0
  65. vendor/facebook/php-business-sdk/DEVELOPER_GUIDE.md +495 -0
  66. vendor/facebook/php-business-sdk/LICENSE +19 -0
  67. vendor/facebook/php-business-sdk/README.md +360 -0
  68. vendor/facebook/php-business-sdk/bin/clean_account.php +111 -0
  69. vendor/facebook/php-business-sdk/bin/create_phar.php +112 -0
  70. vendor/facebook/php-business-sdk/bin/docsmith.php +68 -0
  71. vendor/facebook/php-business-sdk/bin/get_version.php +34 -0
  72. vendor/facebook/php-business-sdk/composer.json +23 -0
  73. vendor/facebook/php-business-sdk/fb_ca_chain_bundle.crt +3920 -0
  74. vendor/facebook/php-business-sdk/src/FacebookAds/AnonymousSession.php +35 -0
  75. vendor/facebook/php-business-sdk/src/FacebookAds/Api.php +247 -0
  76. vendor/facebook/php-business-sdk/src/FacebookAds/ApiConfig.php +29 -0
  77. vendor/facebook/php-business-sdk/src/FacebookAds/ApiRequest.php +219 -0
  78. vendor/facebook/php-business-sdk/src/FacebookAds/CrashReporter.php +216 -0
  79. vendor/facebook/php-business-sdk/src/FacebookAds/Cursor.php +536 -0
  80. vendor/facebook/php-business-sdk/src/FacebookAds/Enum/AbstractEnum.php +181 -0
  81. vendor/facebook/php-business-sdk/src/FacebookAds/Enum/EmptyEnum.php +56 -0
  82. vendor/facebook/php-business-sdk/src/FacebookAds/Enum/EnumInstanceInterface.php +91 -0
  83. vendor/facebook/php-business-sdk/src/FacebookAds/Exception/Exception.php +29 -0
  84. vendor/facebook/php-business-sdk/src/FacebookAds/Http/Adapter/AbstractAdapter.php +56 -0
  85. vendor/facebook/php-business-sdk/src/FacebookAds/Http/Adapter/AdapterInterface.php +64 -0
  86. vendor/facebook/php-business-sdk/src/FacebookAds/Http/Adapter/Curl/AbstractCurl.php +130 -0
  87. vendor/facebook/php-business-sdk/src/FacebookAds/Http/Adapter/Curl/Curl.php +101 -0
  88. vendor/facebook/php-business-sdk/src/FacebookAds/Http/Adapter/Curl/Curl55.php +96 -0
  89. vendor/facebook/php-business-sdk/src/FacebookAds/Http/Adapter/Curl/CurlInterface.php +106 -0
  90. vendor/facebook/php-business-sdk/src/FacebookAds/Http/Adapter/CurlAdapter.php +201 -0
  91. vendor/facebook/php-business-sdk/src/FacebookAds/Http/Client.php +220 -0
  92. vendor/facebook/php-business-sdk/src/FacebookAds/Http/Exception/AuthorizationException.php +29 -0
  93. vendor/facebook/php-business-sdk/src/FacebookAds/Http/Exception/ClientException.php +29 -0
  94. vendor/facebook/php-business-sdk/src/FacebookAds/Http/Exception/EmptyResponseException.php +42 -0
  95. vendor/facebook/php-business-sdk/src/FacebookAds/Http/Exception/PermissionException.php +29 -0
  96. vendor/facebook/php-business-sdk/src/FacebookAds/Http/Exception/RequestException.php +248 -0
  97. vendor/facebook/php-business-sdk/src/FacebookAds/Http/Exception/ServerException.php +29 -0
  98. vendor/facebook/php-business-sdk/src/FacebookAds/Http/Exception/ThrottleException.php +29 -0
  99. vendor/facebook/php-business-sdk/src/FacebookAds/Http/FileParameter.php +89 -0
  100. vendor/facebook/php-business-sdk/src/FacebookAds/Http/Headers.php +29 -0
  101. vendor/facebook/php-business-sdk/src/FacebookAds/Http/Parameters.php +59 -0
  102. vendor/facebook/php-business-sdk/src/FacebookAds/Http/Request.php +296 -0
  103. vendor/facebook/php-business-sdk/src/FacebookAds/Http/RequestInterface.php +169 -0
  104. vendor/facebook/php-business-sdk/src/FacebookAds/Http/Response.php +125 -0
  105. vendor/facebook/php-business-sdk/src/FacebookAds/Http/ResponseInterface.php +73 -0
  106. vendor/facebook/php-business-sdk/src/FacebookAds/Http/Util.php +48 -0
  107. vendor/facebook/php-business-sdk/src/FacebookAds/Logger/CurlLogger.php +276 -0
  108. vendor/facebook/php-business-sdk/src/FacebookAds/Logger/CurlLogger/JsonAwareParameters.php +38 -0
  109. vendor/facebook/php-business-sdk/src/FacebookAds/Logger/CurlLogger/JsonNode.php +196 -0
  110. vendor/facebook/php-business-sdk/src/FacebookAds/Logger/LoggerInterface.php +54 -0
  111. vendor/facebook/php-business-sdk/src/FacebookAds/Logger/NullLogger.php +60 -0
  112. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AbstractArchivableCrudObject.php +92 -0
  113. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AbstractCrudObject.php +531 -0
  114. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AbstractObject.php +185 -0
  115. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Ad.php +516 -0
  116. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdAccount.php +3220 -0
  117. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdAccountActivity.php +80 -0
  118. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdAccountAdRulesHistory.php +61 -0
  119. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdAccountAdVolume.php +57 -0
  120. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdAccountContentFilterLevelsInheritance.php +57 -0
  121. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdAccountCreationRequest.php +103 -0
  122. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdAccountDefaultDestination.php +57 -0
  123. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdAccountDefaultObjective.php +61 -0
  124. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdAccountDeliveryEstimate.php +59 -0
  125. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdAccountMatchedSearchApplicationsEdgeData.php +59 -0
  126. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdAccountMaxBid.php +57 -0
  127. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdAccountPromotableObjects.php +57 -0
  128. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdAccountReachEstimate.php +57 -0
  129. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdAccountRecommendedCamapaignBudget.php +57 -0
  130. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdAccountRoas.php +57 -0
  131. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdAccountSubscribedApps.php +64 -0
  132. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdAccountTargetingUnified.php +67 -0
  133. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdAccountTrackingData.php +57 -0
  134. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdAccountUser.php +76 -0
  135. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdActivity.php +61 -0
  136. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdAssetFeedSpec.php +59 -0
  137. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdAssetFeedSpecAssetLabel.php +57 -0
  138. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdAssetFeedSpecBody.php +57 -0
  139. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdAssetFeedSpecCaption.php +57 -0
  140. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdAssetFeedSpecDescription.php +57 -0
  141. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdAssetFeedSpecGroupRule.php +57 -0
  142. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdAssetFeedSpecImage.php +57 -0
  143. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdAssetFeedSpecLinkURL.php +57 -0
  144. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdAssetFeedSpecTitle.php +57 -0
  145. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdAssetFeedSpecVideo.php +57 -0
  146. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdAsyncRequest.php +105 -0
  147. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdAsyncRequestSet.php +167 -0
  148. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdAsyncRequestSetNotificationResult.php +57 -0
  149. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdBidAdjustments.php +57 -0
  150. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdCampaignActivity.php +92 -0
  151. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdCampaignBidConstraint.php +57 -0
  152. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdCampaignDeliveryEstimate.php +59 -0
  153. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdCampaignDeliveryStatsUnsupportedReasons.php +57 -0
  154. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdCampaignFrequencyControlSpecs.php +57 -0
  155. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdCampaignGroupActivity.php +84 -0
  156. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdCampaignIssuesInfo.php +57 -0
  157. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdCampaignLearningStageInfo.php +57 -0
  158. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdCampaignOptimizationEvent.php +57 -0
  159. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdCampaignPacedBidInfo.php +57 -0
  160. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdCreative.php +282 -0
  161. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdCreativeCollectionThumbnailInfo.php +57 -0
  162. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdCreativeInsights.php +57 -0
  163. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdCreativeInteractiveComponentsSpec.php +57 -0
  164. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdCreativeLinkData.php +61 -0
  165. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdCreativeLinkDataAppLinkSpec.php +57 -0
  166. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdCreativeLinkDataCallToAction.php +59 -0
  167. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdCreativeLinkDataCallToActionValue.php +57 -0
  168. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdCreativeLinkDataChildAttachment.php +57 -0
  169. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdCreativeLinkDataImageLayerSpec.php +71 -0
  170. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdCreativeLinkDataImageOverlaySpec.php +69 -0
  171. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdCreativeLinkDataSponsorshipInfoSpec.php +57 -0
  172. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdCreativeLinkDataTemplateVideoSpec.php +57 -0
  173. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdCreativeObjectStorySpec.php +57 -0
  174. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdCreativePhotoData.php +57 -0
  175. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdCreativePlaceData.php +57 -0
  176. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdCreativePlatformCustomization.php +57 -0
  177. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdCreativePortraitCustomizations.php +57 -0
  178. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdCreativePostClickConfiguration.php +57 -0
  179. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdCreativeRecommenderSettings.php +57 -0
  180. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdCreativeStaticFallbackSpec.php +57 -0
  181. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdCreativeTemplateURLSpec.php +57 -0
  182. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdCreativeTextData.php +57 -0
  183. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdCreativeVideoData.php +57 -0
  184. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdCustomizationRuleSpec.php +57 -0
  185. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdDynamicCreative.php +57 -0
  186. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdEntityTargetSpend.php +57 -0
  187. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdImage.php +264 -0
  188. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdKeywords.php +57 -0
  189. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdLabel.php +226 -0
  190. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdMonetizationProperty.php +183 -0
  191. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdNetworkAnalyticsAsyncQueryResult.php +57 -0
  192. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdNetworkAnalyticsSyncQueryResult.php +67 -0
  193. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdPlacePageSet.php +115 -0
  194. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdPlacePageSetMetadata.php +57 -0
  195. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdPlacement.php +80 -0
  196. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdPreview.php +68 -0
  197. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdPromotedObject.php +59 -0
  198. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdRecommendation.php +61 -0
  199. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdRecommendationData.php +57 -0
  200. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdReportRun.php +168 -0
  201. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdReportSpec.php +103 -0
  202. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdRule.php +215 -0
  203. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdRuleEvaluationSpec.php +59 -0
  204. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdRuleExecutionOptions.php +59 -0
  205. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdRuleExecutionSpec.php +59 -0
  206. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdRuleFilters.php +59 -0
  207. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdRuleHistory.php +59 -0
  208. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdRuleHistoryResult.php +59 -0
  209. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdRuleHistoryResultAction.php +57 -0
  210. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdRuleSchedule.php +57 -0
  211. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdRuleScheduleSpec.php +57 -0
  212. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdRuleTrigger.php +61 -0
  213. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdSet.php +702 -0
  214. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdStudy.php +251 -0
  215. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdStudyCell.php +204 -0
  216. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdStudyObjective.php +306 -0
  217. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdStudyObjectiveID.php +57 -0
  218. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdVideo.php +283 -0
changelog.txt CHANGED
@@ -1,4 +1,7 @@
1
  *** Facebook for WordPress Changelog ***
 
 
 
2
  2019-12-02 version 1.8.0
3
  * Support for WordPress 5.3
4
  * Fix Gravity Forms confirmation redirect
1
  *** Facebook for WordPress Changelog ***
2
+ 2020-03-09 version 2.0.0
3
+ * Added support for Server-Side API
4
+
5
  2019-12-02 version 1.8.0
6
  * Support for WordPress 5.3
7
  * Fix Gravity Forms confirmation redirect
composer.json CHANGED
@@ -8,7 +8,10 @@
8
  "10up/wp_mock": "0.3.0"
9
  },
10
  "license": "GPL",
11
- "require": {},
 
 
 
12
  "autoload": {
13
  "psr-4": {
14
  "FacebookPixelPlugin\\": "./",
@@ -22,4 +25,4 @@
22
  "./"
23
  ]
24
  }
25
- }
8
  "10up/wp_mock": "0.3.0"
9
  },
10
  "license": "GPL",
11
+ "require": {
12
+ "facebook/php-business-sdk": "6.0.0",
13
+ "techcrunch/wp-async-task": "dev-master"
14
+ },
15
  "autoload": {
16
  "psr-4": {
17
  "FacebookPixelPlugin\\": "./",
25
  "./"
26
  ]
27
  }
28
+ }
composer.lock CHANGED
@@ -4,8 +4,97 @@
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": "066d32789b4468f6c87f31956cc2f876",
8
- "packages": [],
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9
  "packages-dev": [
10
  {
11
  "name": "10up/wp_mock",
@@ -50,21 +139,24 @@
50
  },
51
  {
52
  "name": "antecedent/patchwork",
53
- "version": "2.1.8",
54
  "source": {
55
  "type": "git",
56
  "url": "https://github.com/antecedent/patchwork.git",
57
- "reference": "3bb81ace3914c220aa273d1c0603d5e1b454c0d7"
58
  },
59
  "dist": {
60
  "type": "zip",
61
- "url": "https://api.github.com/repos/antecedent/patchwork/zipball/3bb81ace3914c220aa273d1c0603d5e1b454c0d7",
62
- "reference": "3bb81ace3914c220aa273d1c0603d5e1b454c0d7",
63
  "shasum": ""
64
  },
65
  "require": {
66
  "php": ">=5.4.0"
67
  },
 
 
 
68
  "type": "library",
69
  "notification-url": "https://packagist.org/downloads/",
70
  "license": [
@@ -87,31 +179,33 @@
87
  "runkit",
88
  "testing"
89
  ],
90
- "time": "2018-02-19T18:52:50+00:00"
91
  },
92
  {
93
  "name": "doctrine/instantiator",
94
- "version": "1.1.0",
95
  "source": {
96
  "type": "git",
97
  "url": "https://github.com/doctrine/instantiator.git",
98
- "reference": "185b8868aa9bf7159f5f953ed5afb2d7fcdc3bda"
99
  },
100
  "dist": {
101
  "type": "zip",
102
- "url": "https://api.github.com/repos/doctrine/instantiator/zipball/185b8868aa9bf7159f5f953ed5afb2d7fcdc3bda",
103
- "reference": "185b8868aa9bf7159f5f953ed5afb2d7fcdc3bda",
104
  "shasum": ""
105
  },
106
  "require": {
107
  "php": "^7.1"
108
  },
109
  "require-dev": {
110
- "athletic/athletic": "~0.1.8",
111
  "ext-pdo": "*",
112
  "ext-phar": "*",
113
- "phpunit/phpunit": "^6.2.3",
114
- "squizlabs/php_codesniffer": "^3.0.2"
 
 
115
  },
116
  "type": "library",
117
  "extra": {
@@ -136,12 +230,12 @@
136
  }
137
  ],
138
  "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors",
139
- "homepage": "https://github.com/doctrine/instantiator",
140
  "keywords": [
141
  "constructor",
142
  "instantiate"
143
  ],
144
- "time": "2017-07-22T11:58:36+00:00"
145
  },
146
  {
147
  "name": "hamcrest/hamcrest-php",
@@ -229,16 +323,16 @@
229
  },
230
  {
231
  "name": "mockery/mockery",
232
- "version": "1.2.0",
233
  "source": {
234
  "type": "git",
235
  "url": "https://github.com/mockery/mockery.git",
236
- "reference": "100633629bf76d57430b86b7098cd6beb996a35a"
237
  },
238
  "dist": {
239
  "type": "zip",
240
- "url": "https://api.github.com/repos/mockery/mockery/zipball/100633629bf76d57430b86b7098cd6beb996a35a",
241
- "reference": "100633629bf76d57430b86b7098cd6beb996a35a",
242
  "shasum": ""
243
  },
244
  "require": {
@@ -247,12 +341,12 @@
247
  "php": ">=5.6.0"
248
  },
249
  "require-dev": {
250
- "phpunit/phpunit": "~5.7.10|~6.5|~7.0"
251
  },
252
  "type": "library",
253
  "extra": {
254
  "branch-alias": {
255
- "dev-master": "1.0.x-dev"
256
  }
257
  },
258
  "autoload": {
@@ -290,20 +384,20 @@
290
  "test double",
291
  "testing"
292
  ],
293
- "time": "2018-10-02T21:52:37+00:00"
294
  },
295
  {
296
  "name": "myclabs/deep-copy",
297
- "version": "1.8.1",
298
  "source": {
299
  "type": "git",
300
  "url": "https://github.com/myclabs/DeepCopy.git",
301
- "reference": "3e01bdad3e18354c3dce54466b7fbe33a9f9f7f8"
302
  },
303
  "dist": {
304
  "type": "zip",
305
- "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/3e01bdad3e18354c3dce54466b7fbe33a9f9f7f8",
306
- "reference": "3e01bdad3e18354c3dce54466b7fbe33a9f9f7f8",
307
  "shasum": ""
308
  },
309
  "require": {
@@ -338,7 +432,7 @@
338
  "object",
339
  "object graph"
340
  ],
341
- "time": "2018-06-11T23:09:50+00:00"
342
  },
343
  {
344
  "name": "phar-io/manifest",
@@ -541,35 +635,33 @@
541
  },
542
  {
543
  "name": "phpdocumentor/reflection-common",
544
- "version": "1.0.1",
545
  "source": {
546
  "type": "git",
547
  "url": "https://github.com/phpDocumentor/ReflectionCommon.git",
548
- "reference": "21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6"
549
  },
550
  "dist": {
551
  "type": "zip",
552
- "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6",
553
- "reference": "21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6",
554
  "shasum": ""
555
  },
556
  "require": {
557
- "php": ">=5.5"
558
  },
559
  "require-dev": {
560
- "phpunit/phpunit": "^4.6"
561
  },
562
  "type": "library",
563
  "extra": {
564
  "branch-alias": {
565
- "dev-master": "1.0.x-dev"
566
  }
567
  },
568
  "autoload": {
569
  "psr-4": {
570
- "phpDocumentor\\Reflection\\": [
571
- "src"
572
- ]
573
  }
574
  },
575
  "notification-url": "https://packagist.org/downloads/",
@@ -591,44 +683,42 @@
591
  "reflection",
592
  "static analysis"
593
  ],
594
- "time": "2017-09-11T18:02:19+00:00"
595
  },
596
  {
597
  "name": "phpdocumentor/reflection-docblock",
598
- "version": "4.3.0",
599
  "source": {
600
  "type": "git",
601
  "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
602
- "reference": "94fd0001232e47129dd3504189fa1c7225010d08"
603
  },
604
  "dist": {
605
  "type": "zip",
606
- "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/94fd0001232e47129dd3504189fa1c7225010d08",
607
- "reference": "94fd0001232e47129dd3504189fa1c7225010d08",
608
  "shasum": ""
609
  },
610
  "require": {
611
- "php": "^7.0",
612
- "phpdocumentor/reflection-common": "^1.0.0",
613
- "phpdocumentor/type-resolver": "^0.4.0",
614
- "webmozart/assert": "^1.0"
 
615
  },
616
  "require-dev": {
617
- "doctrine/instantiator": "~1.0.5",
618
- "mockery/mockery": "^1.0",
619
- "phpunit/phpunit": "^6.4"
620
  },
621
  "type": "library",
622
  "extra": {
623
  "branch-alias": {
624
- "dev-master": "4.x-dev"
625
  }
626
  },
627
  "autoload": {
628
  "psr-4": {
629
- "phpDocumentor\\Reflection\\": [
630
- "src/"
631
- ]
632
  }
633
  },
634
  "notification-url": "https://packagist.org/downloads/",
@@ -639,44 +729,47 @@
639
  {
640
  "name": "Mike van Riel",
641
  "email": "me@mikevanriel.com"
 
 
 
 
642
  }
643
  ],
644
  "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.",
645
- "time": "2017-11-30T07:14:17+00:00"
646
  },
647
  {
648
  "name": "phpdocumentor/type-resolver",
649
- "version": "0.4.0",
650
  "source": {
651
  "type": "git",
652
  "url": "https://github.com/phpDocumentor/TypeResolver.git",
653
- "reference": "9c977708995954784726e25d0cd1dddf4e65b0f7"
654
  },
655
  "dist": {
656
  "type": "zip",
657
- "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/9c977708995954784726e25d0cd1dddf4e65b0f7",
658
- "reference": "9c977708995954784726e25d0cd1dddf4e65b0f7",
659
  "shasum": ""
660
  },
661
  "require": {
662
- "php": "^5.5 || ^7.0",
663
- "phpdocumentor/reflection-common": "^1.0"
664
  },
665
  "require-dev": {
666
- "mockery/mockery": "^0.9.4",
667
- "phpunit/phpunit": "^5.2||^4.8.24"
 
668
  },
669
  "type": "library",
670
  "extra": {
671
  "branch-alias": {
672
- "dev-master": "1.0.x-dev"
673
  }
674
  },
675
  "autoload": {
676
  "psr-4": {
677
- "phpDocumentor\\Reflection\\": [
678
- "src/"
679
- ]
680
  }
681
  },
682
  "notification-url": "https://packagist.org/downloads/",
@@ -689,42 +782,43 @@
689
  "email": "me@mikevanriel.com"
690
  }
691
  ],
692
- "time": "2017-07-14T14:27:02+00:00"
 
693
  },
694
  {
695
  "name": "phpspec/prophecy",
696
- "version": "1.8.0",
697
  "source": {
698
  "type": "git",
699
  "url": "https://github.com/phpspec/prophecy.git",
700
- "reference": "4ba436b55987b4bf311cb7c6ba82aa528aac0a06"
701
  },
702
  "dist": {
703
  "type": "zip",
704
- "url": "https://api.github.com/repos/phpspec/prophecy/zipball/4ba436b55987b4bf311cb7c6ba82aa528aac0a06",
705
- "reference": "4ba436b55987b4bf311cb7c6ba82aa528aac0a06",
706
  "shasum": ""
707
  },
708
  "require": {
709
  "doctrine/instantiator": "^1.0.2",
710
  "php": "^5.3|^7.0",
711
- "phpdocumentor/reflection-docblock": "^2.0|^3.0.2|^4.0",
712
- "sebastian/comparator": "^1.1|^2.0|^3.0",
713
- "sebastian/recursion-context": "^1.0|^2.0|^3.0"
714
  },
715
  "require-dev": {
716
- "phpspec/phpspec": "^2.5|^3.2",
717
  "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5 || ^7.1"
718
  },
719
  "type": "library",
720
  "extra": {
721
  "branch-alias": {
722
- "dev-master": "1.8.x-dev"
723
  }
724
  },
725
  "autoload": {
726
- "psr-0": {
727
- "Prophecy\\": "src/"
728
  }
729
  },
730
  "notification-url": "https://packagist.org/downloads/",
@@ -752,7 +846,7 @@
752
  "spy",
753
  "stub"
754
  ],
755
- "time": "2018-08-05T17:53:17+00:00"
756
  },
757
  {
758
  "name": "phpunit/php-code-coverage",
@@ -1005,16 +1099,16 @@
1005
  },
1006
  {
1007
  "name": "phpunit/phpunit",
1008
- "version": "6.5.13",
1009
  "source": {
1010
  "type": "git",
1011
  "url": "https://github.com/sebastianbergmann/phpunit.git",
1012
- "reference": "0973426fb012359b2f18d3bd1e90ef1172839693"
1013
  },
1014
  "dist": {
1015
  "type": "zip",
1016
- "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/0973426fb012359b2f18d3bd1e90ef1172839693",
1017
- "reference": "0973426fb012359b2f18d3bd1e90ef1172839693",
1018
  "shasum": ""
1019
  },
1020
  "require": {
@@ -1085,7 +1179,7 @@
1085
  "testing",
1086
  "xunit"
1087
  ],
1088
- "time": "2018-09-08T15:10:43+00:00"
1089
  },
1090
  {
1091
  "name": "phpunit/phpunit-mock-objects",
@@ -1144,8 +1238,58 @@
1144
  "mock",
1145
  "xunit"
1146
  ],
 
1147
  "time": "2018-08-09T05:50:03+00:00"
1148
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1149
  {
1150
  "name": "sebastian/code-unit-reverse-lookup",
1151
  "version": "1.0.1",
@@ -1359,16 +1503,16 @@
1359
  },
1360
  {
1361
  "name": "sebastian/exporter",
1362
- "version": "3.1.0",
1363
  "source": {
1364
  "type": "git",
1365
  "url": "https://github.com/sebastianbergmann/exporter.git",
1366
- "reference": "234199f4528de6d12aaa58b612e98f7d36adb937"
1367
  },
1368
  "dist": {
1369
  "type": "zip",
1370
- "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/234199f4528de6d12aaa58b612e98f7d36adb937",
1371
- "reference": "234199f4528de6d12aaa58b612e98f7d36adb937",
1372
  "shasum": ""
1373
  },
1374
  "require": {
@@ -1395,6 +1539,10 @@
1395
  "BSD-3-Clause"
1396
  ],
1397
  "authors": [
 
 
 
 
1398
  {
1399
  "name": "Jeff Welch",
1400
  "email": "whatthejeff@gmail.com"
@@ -1403,17 +1551,13 @@
1403
  "name": "Volker Dusch",
1404
  "email": "github@wallbash.com"
1405
  },
1406
- {
1407
- "name": "Bernhard Schussek",
1408
- "email": "bschussek@2bepublished.at"
1409
- },
1410
- {
1411
- "name": "Sebastian Bergmann",
1412
- "email": "sebastian@phpunit.de"
1413
- },
1414
  {
1415
  "name": "Adam Harvey",
1416
  "email": "aharvey@php.net"
 
 
 
 
1417
  }
1418
  ],
1419
  "description": "Provides the functionality to export PHP variables for visualization",
@@ -1422,7 +1566,7 @@
1422
  "export",
1423
  "exporter"
1424
  ],
1425
- "time": "2017-04-03T13:19:02+00:00"
1426
  },
1427
  {
1428
  "name": "sebastian/global-state",
@@ -1707,37 +1851,44 @@
1707
  },
1708
  {
1709
  "name": "symfony/console",
1710
- "version": "v4.2.2",
1711
  "source": {
1712
  "type": "git",
1713
  "url": "https://github.com/symfony/console.git",
1714
- "reference": "b0a03c1bb0fcbe288629956cf2f1dd3f1dc97522"
1715
  },
1716
  "dist": {
1717
  "type": "zip",
1718
- "url": "https://api.github.com/repos/symfony/console/zipball/b0a03c1bb0fcbe288629956cf2f1dd3f1dc97522",
1719
- "reference": "b0a03c1bb0fcbe288629956cf2f1dd3f1dc97522",
1720
  "shasum": ""
1721
  },
1722
  "require": {
1723
  "php": "^7.1.3",
1724
- "symfony/contracts": "^1.0",
1725
- "symfony/polyfill-mbstring": "~1.0"
 
1726
  },
1727
  "conflict": {
1728
  "symfony/dependency-injection": "<3.4",
 
 
1729
  "symfony/process": "<3.3"
1730
  },
 
 
 
1731
  "require-dev": {
1732
  "psr/log": "~1.0",
1733
- "symfony/config": "~3.4|~4.0",
1734
- "symfony/dependency-injection": "~3.4|~4.0",
1735
- "symfony/event-dispatcher": "~3.4|~4.0",
1736
- "symfony/lock": "~3.4|~4.0",
1737
- "symfony/process": "~3.4|~4.0"
 
1738
  },
1739
  "suggest": {
1740
- "psr/log-implementation": "For using the console logger",
1741
  "symfony/event-dispatcher": "",
1742
  "symfony/lock": "",
1743
  "symfony/process": ""
@@ -1745,7 +1896,7 @@
1745
  "type": "library",
1746
  "extra": {
1747
  "branch-alias": {
1748
- "dev-master": "4.2-dev"
1749
  }
1750
  },
1751
  "autoload": {
@@ -1772,48 +1923,40 @@
1772
  ],
1773
  "description": "Symfony Console Component",
1774
  "homepage": "https://symfony.com",
1775
- "time": "2019-01-04T15:13:53+00:00"
1776
  },
1777
  {
1778
- "name": "symfony/contracts",
1779
- "version": "v1.0.2",
1780
  "source": {
1781
  "type": "git",
1782
- "url": "https://github.com/symfony/contracts.git",
1783
- "reference": "1aa7ab2429c3d594dd70689604b5cf7421254cdf"
1784
  },
1785
  "dist": {
1786
  "type": "zip",
1787
- "url": "https://api.github.com/repos/symfony/contracts/zipball/1aa7ab2429c3d594dd70689604b5cf7421254cdf",
1788
- "reference": "1aa7ab2429c3d594dd70689604b5cf7421254cdf",
1789
  "shasum": ""
1790
  },
1791
  "require": {
1792
- "php": "^7.1.3"
1793
- },
1794
- "require-dev": {
1795
- "psr/cache": "^1.0",
1796
- "psr/container": "^1.0"
1797
  },
1798
  "suggest": {
1799
- "psr/cache": "When using the Cache contracts",
1800
- "psr/container": "When using the Service contracts",
1801
- "symfony/cache-contracts-implementation": "",
1802
- "symfony/service-contracts-implementation": "",
1803
- "symfony/translation-contracts-implementation": ""
1804
  },
1805
  "type": "library",
1806
  "extra": {
1807
  "branch-alias": {
1808
- "dev-master": "1.0-dev"
1809
  }
1810
  },
1811
  "autoload": {
1812
  "psr-4": {
1813
- "Symfony\\Contracts\\": ""
1814
  },
1815
- "exclude-from-classmap": [
1816
- "**/Tests/"
1817
  ]
1818
  },
1819
  "notification-url": "https://packagist.org/downloads/",
@@ -1822,55 +1965,53 @@
1822
  ],
1823
  "authors": [
1824
  {
1825
- "name": "Nicolas Grekas",
1826
- "email": "p@tchwork.com"
1827
  },
1828
  {
1829
  "name": "Symfony Community",
1830
  "homepage": "https://symfony.com/contributors"
1831
  }
1832
  ],
1833
- "description": "A set of abstractions extracted out of the Symfony components",
1834
  "homepage": "https://symfony.com",
1835
  "keywords": [
1836
- "abstractions",
1837
- "contracts",
1838
- "decoupling",
1839
- "interfaces",
1840
- "interoperability",
1841
- "standards"
1842
  ],
1843
- "time": "2018-12-05T08:06:11+00:00"
1844
  },
1845
  {
1846
- "name": "symfony/polyfill-ctype",
1847
- "version": "v1.10.0",
1848
  "source": {
1849
  "type": "git",
1850
- "url": "https://github.com/symfony/polyfill-ctype.git",
1851
- "reference": "e3d826245268269cd66f8326bd8bc066687b4a19"
1852
  },
1853
  "dist": {
1854
  "type": "zip",
1855
- "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/e3d826245268269cd66f8326bd8bc066687b4a19",
1856
- "reference": "e3d826245268269cd66f8326bd8bc066687b4a19",
1857
  "shasum": ""
1858
  },
1859
  "require": {
1860
  "php": ">=5.3.3"
1861
  },
1862
  "suggest": {
1863
- "ext-ctype": "For best performance"
1864
  },
1865
  "type": "library",
1866
  "extra": {
1867
  "branch-alias": {
1868
- "dev-master": "1.9-dev"
1869
  }
1870
  },
1871
  "autoload": {
1872
  "psr-4": {
1873
- "Symfony\\Polyfill\\Ctype\\": ""
1874
  },
1875
  "files": [
1876
  "bootstrap.php"
@@ -1882,56 +2023,57 @@
1882
  ],
1883
  "authors": [
1884
  {
1885
- "name": "Symfony Community",
1886
- "homepage": "https://symfony.com/contributors"
1887
  },
1888
  {
1889
- "name": "Gert de Pagter",
1890
- "email": "BackEndTea@gmail.com"
1891
  }
1892
  ],
1893
- "description": "Symfony polyfill for ctype functions",
1894
  "homepage": "https://symfony.com",
1895
  "keywords": [
1896
  "compatibility",
1897
- "ctype",
1898
  "polyfill",
1899
- "portable"
 
1900
  ],
1901
- "time": "2018-08-06T14:22:27+00:00"
1902
  },
1903
  {
1904
- "name": "symfony/polyfill-mbstring",
1905
- "version": "v1.10.0",
1906
  "source": {
1907
  "type": "git",
1908
- "url": "https://github.com/symfony/polyfill-mbstring.git",
1909
- "reference": "c79c051f5b3a46be09205c73b80b346e4153e494"
1910
  },
1911
  "dist": {
1912
  "type": "zip",
1913
- "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/c79c051f5b3a46be09205c73b80b346e4153e494",
1914
- "reference": "c79c051f5b3a46be09205c73b80b346e4153e494",
1915
  "shasum": ""
1916
  },
1917
  "require": {
1918
  "php": ">=5.3.3"
1919
  },
1920
- "suggest": {
1921
- "ext-mbstring": "For best performance"
1922
- },
1923
  "type": "library",
1924
  "extra": {
1925
  "branch-alias": {
1926
- "dev-master": "1.9-dev"
1927
  }
1928
  },
1929
  "autoload": {
1930
  "psr-4": {
1931
- "Symfony\\Polyfill\\Mbstring\\": ""
1932
  },
1933
  "files": [
1934
  "bootstrap.php"
 
 
 
1935
  ]
1936
  },
1937
  "notification-url": "https://packagist.org/downloads/",
@@ -1948,29 +2090,86 @@
1948
  "homepage": "https://symfony.com/contributors"
1949
  }
1950
  ],
1951
- "description": "Symfony polyfill for the Mbstring extension",
1952
  "homepage": "https://symfony.com",
1953
  "keywords": [
1954
  "compatibility",
1955
- "mbstring",
1956
  "polyfill",
1957
  "portable",
1958
  "shim"
1959
  ],
1960
- "time": "2018-09-21T13:07:52+00:00"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1961
  },
1962
  {
1963
  "name": "symfony/yaml",
1964
- "version": "v4.2.2",
1965
  "source": {
1966
  "type": "git",
1967
  "url": "https://github.com/symfony/yaml.git",
1968
- "reference": "d0aa6c0ea484087927b49fd513383a7d36190ca6"
1969
  },
1970
  "dist": {
1971
  "type": "zip",
1972
- "url": "https://api.github.com/repos/symfony/yaml/zipball/d0aa6c0ea484087927b49fd513383a7d36190ca6",
1973
- "reference": "d0aa6c0ea484087927b49fd513383a7d36190ca6",
1974
  "shasum": ""
1975
  },
1976
  "require": {
@@ -1981,7 +2180,7 @@
1981
  "symfony/console": "<3.4"
1982
  },
1983
  "require-dev": {
1984
- "symfony/console": "~3.4|~4.0"
1985
  },
1986
  "suggest": {
1987
  "symfony/console": "For validating YAML files using the lint command"
@@ -1989,7 +2188,7 @@
1989
  "type": "library",
1990
  "extra": {
1991
  "branch-alias": {
1992
- "dev-master": "4.2-dev"
1993
  }
1994
  },
1995
  "autoload": {
@@ -2016,20 +2215,20 @@
2016
  ],
2017
  "description": "Symfony Yaml Component",
2018
  "homepage": "https://symfony.com",
2019
- "time": "2019-01-03T09:07:35+00:00"
2020
  },
2021
  {
2022
  "name": "theseer/tokenizer",
2023
- "version": "1.1.0",
2024
  "source": {
2025
  "type": "git",
2026
  "url": "https://github.com/theseer/tokenizer.git",
2027
- "reference": "cb2f008f3f05af2893a87208fe6a6c4985483f8b"
2028
  },
2029
  "dist": {
2030
  "type": "zip",
2031
- "url": "https://api.github.com/repos/theseer/tokenizer/zipball/cb2f008f3f05af2893a87208fe6a6c4985483f8b",
2032
- "reference": "cb2f008f3f05af2893a87208fe6a6c4985483f8b",
2033
  "shasum": ""
2034
  },
2035
  "require": {
@@ -2056,36 +2255,33 @@
2056
  }
2057
  ],
2058
  "description": "A small library for converting tokenized PHP source code into XML and potentially other formats",
2059
- "time": "2017-04-07T12:08:54+00:00"
2060
  },
2061
  {
2062
  "name": "webmozart/assert",
2063
- "version": "1.4.0",
2064
  "source": {
2065
  "type": "git",
2066
  "url": "https://github.com/webmozart/assert.git",
2067
- "reference": "83e253c8e0be5b0257b881e1827274667c5c17a9"
2068
  },
2069
  "dist": {
2070
  "type": "zip",
2071
- "url": "https://api.github.com/repos/webmozart/assert/zipball/83e253c8e0be5b0257b881e1827274667c5c17a9",
2072
- "reference": "83e253c8e0be5b0257b881e1827274667c5c17a9",
2073
  "shasum": ""
2074
  },
2075
  "require": {
2076
  "php": "^5.3.3 || ^7.0",
2077
  "symfony/polyfill-ctype": "^1.8"
2078
  },
 
 
 
2079
  "require-dev": {
2080
- "phpunit/phpunit": "^4.6",
2081
- "sebastian/version": "^1.0.1"
2082
  },
2083
  "type": "library",
2084
- "extra": {
2085
- "branch-alias": {
2086
- "dev-master": "1.3-dev"
2087
- }
2088
- },
2089
  "autoload": {
2090
  "psr-4": {
2091
  "Webmozart\\Assert\\": "src/"
@@ -2107,12 +2303,13 @@
2107
  "check",
2108
  "validate"
2109
  ],
2110
- "time": "2018-12-25T11:19:39+00:00"
2111
  }
2112
  ],
2113
  "aliases": [],
2114
  "minimum-stability": "stable",
2115
  "stability-flags": {
 
2116
  "phing/phing": 15
2117
  },
2118
  "prefer-stable": false,
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": "8c78f3821e9ebc5ffc8c03dab0e2a8b3",
8
+ "packages": [
9
+ {
10
+ "name": "facebook/php-business-sdk",
11
+ "version": "6.0.0",
12
+ "source": {
13
+ "type": "git",
14
+ "url": "https://github.com/facebook/facebook-php-business-sdk.git",
15
+ "reference": "32c8678d3c50e0570b68d7cbb23062c16a5faf15"
16
+ },
17
+ "dist": {
18
+ "type": "zip",
19
+ "url": "https://api.github.com/repos/facebook/facebook-php-business-sdk/zipball/32c8678d3c50e0570b68d7cbb23062c16a5faf15",
20
+ "reference": "32c8678d3c50e0570b68d7cbb23062c16a5faf15",
21
+ "shasum": ""
22
+ },
23
+ "require-dev": {
24
+ "phpunit/phpunit": "~8",
25
+ "symfony/finder": "~2.6"
26
+ },
27
+ "type": "library",
28
+ "autoload": {
29
+ "psr-4": {
30
+ "FacebookAds\\": "src/FacebookAds/"
31
+ }
32
+ },
33
+ "notification-url": "https://packagist.org/downloads/",
34
+ "description": "PHP SDK for Facebook Business",
35
+ "homepage": "https://developers.facebook.com/",
36
+ "keywords": [
37
+ "ads",
38
+ "business",
39
+ "facebook",
40
+ "instagram",
41
+ "page",
42
+ "sdk"
43
+ ],
44
+ "time": "2020-02-03T20:06:10+00:00"
45
+ },
46
+ {
47
+ "name": "techcrunch/wp-async-task",
48
+ "version": "dev-master",
49
+ "source": {
50
+ "type": "git",
51
+ "url": "https://github.com/techcrunch/wp-async-task.git",
52
+ "reference": "9bdbbf9df4ff5179711bb58b9a2451296f6753dc"
53
+ },
54
+ "dist": {
55
+ "type": "zip",
56
+ "url": "https://api.github.com/repos/techcrunch/wp-async-task/zipball/9bdbbf9df4ff5179711bb58b9a2451296f6753dc",
57
+ "reference": "9bdbbf9df4ff5179711bb58b9a2451296f6753dc",
58
+ "shasum": ""
59
+ },
60
+ "require-dev": {
61
+ "10up/wp_mock": "dev-master",
62
+ "phpunit/phpunit": "*@stable"
63
+ },
64
+ "type": "wordpress-plugin",
65
+ "autoload": {
66
+ "classmap": [
67
+ "wp-async-task.php"
68
+ ]
69
+ },
70
+ "notification-url": "https://packagist.org/downloads/",
71
+ "license": [
72
+ "MIT"
73
+ ],
74
+ "authors": [
75
+ {
76
+ "name": "Alex Khadiwala",
77
+ "role": "developer"
78
+ },
79
+ {
80
+ "name": "Nicolas Vincent",
81
+ "role": "developer"
82
+ },
83
+ {
84
+ "name": "Eric Mann",
85
+ "email": "eric.mann@10up.com",
86
+ "role": "developer"
87
+ },
88
+ {
89
+ "name": "John P. Bloch",
90
+ "email": "john.bloch@10up.com",
91
+ "role": "developer"
92
+ }
93
+ ],
94
+ "description": "Run asynchronous tasks for long-running operations in WordPress",
95
+ "time": "2016-03-10T17:37:13+00:00"
96
+ }
97
+ ],
98
  "packages-dev": [
99
  {
100
  "name": "10up/wp_mock",
139
  },
140
  {
141
  "name": "antecedent/patchwork",
142
+ "version": "2.1.12",
143
  "source": {
144
  "type": "git",
145
  "url": "https://github.com/antecedent/patchwork.git",
146
+ "reference": "b98e046dd4c0acc34a0846604f06f6111654d9ea"
147
  },
148
  "dist": {
149
  "type": "zip",
150
+ "url": "https://api.github.com/repos/antecedent/patchwork/zipball/b98e046dd4c0acc34a0846604f06f6111654d9ea",
151
+ "reference": "b98e046dd4c0acc34a0846604f06f6111654d9ea",
152
  "shasum": ""
153
  },
154
  "require": {
155
  "php": ">=5.4.0"
156
  },
157
+ "require-dev": {
158
+ "phpunit/phpunit": ">=4"
159
+ },
160
  "type": "library",
161
  "notification-url": "https://packagist.org/downloads/",
162
  "license": [
179
  "runkit",
180
  "testing"
181
  ],
182
+ "time": "2019-12-22T17:52:09+00:00"
183
  },
184
  {
185
  "name": "doctrine/instantiator",
186
+ "version": "1.3.0",
187
  "source": {
188
  "type": "git",
189
  "url": "https://github.com/doctrine/instantiator.git",
190
+ "reference": "ae466f726242e637cebdd526a7d991b9433bacf1"
191
  },
192
  "dist": {
193
  "type": "zip",
194
+ "url": "https://api.github.com/repos/doctrine/instantiator/zipball/ae466f726242e637cebdd526a7d991b9433bacf1",
195
+ "reference": "ae466f726242e637cebdd526a7d991b9433bacf1",
196
  "shasum": ""
197
  },
198
  "require": {
199
  "php": "^7.1"
200
  },
201
  "require-dev": {
202
+ "doctrine/coding-standard": "^6.0",
203
  "ext-pdo": "*",
204
  "ext-phar": "*",
205
+ "phpbench/phpbench": "^0.13",
206
+ "phpstan/phpstan-phpunit": "^0.11",
207
+ "phpstan/phpstan-shim": "^0.11",
208
+ "phpunit/phpunit": "^7.0"
209
  },
210
  "type": "library",
211
  "extra": {
230
  }
231
  ],
232
  "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors",
233
+ "homepage": "https://www.doctrine-project.org/projects/instantiator.html",
234
  "keywords": [
235
  "constructor",
236
  "instantiate"
237
  ],
238
+ "time": "2019-10-21T16:45:58+00:00"
239
  },
240
  {
241
  "name": "hamcrest/hamcrest-php",
323
  },
324
  {
325
  "name": "mockery/mockery",
326
+ "version": "1.3.1",
327
  "source": {
328
  "type": "git",
329
  "url": "https://github.com/mockery/mockery.git",
330
+ "reference": "f69bbde7d7a75d6b2862d9ca8fab1cd28014b4be"
331
  },
332
  "dist": {
333
  "type": "zip",
334
+ "url": "https://api.github.com/repos/mockery/mockery/zipball/f69bbde7d7a75d6b2862d9ca8fab1cd28014b4be",
335
+ "reference": "f69bbde7d7a75d6b2862d9ca8fab1cd28014b4be",
336
  "shasum": ""
337
  },
338
  "require": {
341
  "php": ">=5.6.0"
342
  },
343
  "require-dev": {
344
+ "phpunit/phpunit": "~5.7.10|~6.5|~7.0|~8.0"
345
  },
346
  "type": "library",
347
  "extra": {
348
  "branch-alias": {
349
+ "dev-master": "1.3.x-dev"
350
  }
351
  },
352
  "autoload": {
384
  "test double",
385
  "testing"
386
  ],
387
+ "time": "2019-12-26T09:49:15+00:00"
388
  },
389
  {
390
  "name": "myclabs/deep-copy",
391
+ "version": "1.9.5",
392
  "source": {
393
  "type": "git",
394
  "url": "https://github.com/myclabs/DeepCopy.git",
395
+ "reference": "b2c28789e80a97badd14145fda39b545d83ca3ef"
396
  },
397
  "dist": {
398
  "type": "zip",
399
+ "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/b2c28789e80a97badd14145fda39b545d83ca3ef",
400
+ "reference": "b2c28789e80a97badd14145fda39b545d83ca3ef",
401
  "shasum": ""
402
  },
403
  "require": {
432
  "object",
433
  "object graph"
434
  ],
435
+ "time": "2020-01-17T21:11:47+00:00"
436
  },
437
  {
438
  "name": "phar-io/manifest",
635
  },
636
  {
637
  "name": "phpdocumentor/reflection-common",
638
+ "version": "2.0.0",
639
  "source": {
640
  "type": "git",
641
  "url": "https://github.com/phpDocumentor/ReflectionCommon.git",
642
+ "reference": "63a995caa1ca9e5590304cd845c15ad6d482a62a"
643
  },
644
  "dist": {
645
  "type": "zip",
646
+ "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/63a995caa1ca9e5590304cd845c15ad6d482a62a",
647
+ "reference": "63a995caa1ca9e5590304cd845c15ad6d482a62a",
648
  "shasum": ""
649
  },
650
  "require": {
651
+ "php": ">=7.1"
652
  },
653
  "require-dev": {
654
+ "phpunit/phpunit": "~6"
655
  },
656
  "type": "library",
657
  "extra": {
658
  "branch-alias": {
659
+ "dev-master": "2.x-dev"
660
  }
661
  },
662
  "autoload": {
663
  "psr-4": {
664
+ "phpDocumentor\\Reflection\\": "src/"
 
 
665
  }
666
  },
667
  "notification-url": "https://packagist.org/downloads/",
683
  "reflection",
684
  "static analysis"
685
  ],
686
+ "time": "2018-08-07T13:53:10+00:00"
687
  },
688
  {
689
  "name": "phpdocumentor/reflection-docblock",
690
+ "version": "5.0.0",
691
  "source": {
692
  "type": "git",
693
  "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
694
+ "reference": "a48807183a4b819072f26e347bbd0b5199a9d15f"
695
  },
696
  "dist": {
697
  "type": "zip",
698
+ "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/a48807183a4b819072f26e347bbd0b5199a9d15f",
699
+ "reference": "a48807183a4b819072f26e347bbd0b5199a9d15f",
700
  "shasum": ""
701
  },
702
  "require": {
703
+ "ext-filter": "^7.1",
704
+ "php": "^7.2",
705
+ "phpdocumentor/reflection-common": "^2.0",
706
+ "phpdocumentor/type-resolver": "^1.0",
707
+ "webmozart/assert": "^1"
708
  },
709
  "require-dev": {
710
+ "doctrine/instantiator": "^1",
711
+ "mockery/mockery": "^1"
 
712
  },
713
  "type": "library",
714
  "extra": {
715
  "branch-alias": {
716
+ "dev-master": "5.x-dev"
717
  }
718
  },
719
  "autoload": {
720
  "psr-4": {
721
+ "phpDocumentor\\Reflection\\": "src"
 
 
722
  }
723
  },
724
  "notification-url": "https://packagist.org/downloads/",
729
  {
730
  "name": "Mike van Riel",
731
  "email": "me@mikevanriel.com"
732
+ },
733
+ {
734
+ "name": "Jaap van Otterdijk",
735
+ "email": "account@ijaap.nl"
736
  }
737
  ],
738
  "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.",
739
+ "time": "2020-02-09T09:16:15+00:00"
740
  },
741
  {
742
  "name": "phpdocumentor/type-resolver",
743
+ "version": "1.0.1",
744
  "source": {
745
  "type": "git",
746
  "url": "https://github.com/phpDocumentor/TypeResolver.git",
747
+ "reference": "2e32a6d48972b2c1976ed5d8967145b6cec4a4a9"
748
  },
749
  "dist": {
750
  "type": "zip",
751
+ "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/2e32a6d48972b2c1976ed5d8967145b6cec4a4a9",
752
+ "reference": "2e32a6d48972b2c1976ed5d8967145b6cec4a4a9",
753
  "shasum": ""
754
  },
755
  "require": {
756
+ "php": "^7.1",
757
+ "phpdocumentor/reflection-common": "^2.0"
758
  },
759
  "require-dev": {
760
+ "ext-tokenizer": "^7.1",
761
+ "mockery/mockery": "~1",
762
+ "phpunit/phpunit": "^7.0"
763
  },
764
  "type": "library",
765
  "extra": {
766
  "branch-alias": {
767
+ "dev-master": "1.x-dev"
768
  }
769
  },
770
  "autoload": {
771
  "psr-4": {
772
+ "phpDocumentor\\Reflection\\": "src"
 
 
773
  }
774
  },
775
  "notification-url": "https://packagist.org/downloads/",
782
  "email": "me@mikevanriel.com"
783
  }
784
  ],
785
+ "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names",
786
+ "time": "2019-08-22T18:11:29+00:00"
787
  },
788
  {
789
  "name": "phpspec/prophecy",
790
+ "version": "v1.10.2",
791
  "source": {
792
  "type": "git",
793
  "url": "https://github.com/phpspec/prophecy.git",
794
+ "reference": "b4400efc9d206e83138e2bb97ed7f5b14b831cd9"
795
  },
796
  "dist": {
797
  "type": "zip",
798
+ "url": "https://api.github.com/repos/phpspec/prophecy/zipball/b4400efc9d206e83138e2bb97ed7f5b14b831cd9",
799
+ "reference": "b4400efc9d206e83138e2bb97ed7f5b14b831cd9",
800
  "shasum": ""
801
  },
802
  "require": {
803
  "doctrine/instantiator": "^1.0.2",
804
  "php": "^5.3|^7.0",
805
+ "phpdocumentor/reflection-docblock": "^2.0|^3.0.2|^4.0|^5.0",
806
+ "sebastian/comparator": "^1.2.3|^2.0|^3.0|^4.0",
807
+ "sebastian/recursion-context": "^1.0|^2.0|^3.0|^4.0"
808
  },
809
  "require-dev": {
810
+ "phpspec/phpspec": "^2.5 || ^3.2",
811
  "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5 || ^7.1"
812
  },
813
  "type": "library",
814
  "extra": {
815
  "branch-alias": {
816
+ "dev-master": "1.10.x-dev"
817
  }
818
  },
819
  "autoload": {
820
+ "psr-4": {
821
+ "Prophecy\\": "src/Prophecy"
822
  }
823
  },
824
  "notification-url": "https://packagist.org/downloads/",
846
  "spy",
847
  "stub"
848
  ],
849
+ "time": "2020-01-20T15:57:02+00:00"
850
  },
851
  {
852
  "name": "phpunit/php-code-coverage",
1099
  },
1100
  {
1101
  "name": "phpunit/phpunit",
1102
+ "version": "6.5.14",
1103
  "source": {
1104
  "type": "git",
1105
  "url": "https://github.com/sebastianbergmann/phpunit.git",
1106
+ "reference": "bac23fe7ff13dbdb461481f706f0e9fe746334b7"
1107
  },
1108
  "dist": {
1109
  "type": "zip",
1110
+ "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/bac23fe7ff13dbdb461481f706f0e9fe746334b7",
1111
+ "reference": "bac23fe7ff13dbdb461481f706f0e9fe746334b7",
1112
  "shasum": ""
1113
  },
1114
  "require": {
1179
  "testing",
1180
  "xunit"
1181
  ],
1182
+ "time": "2019-02-01T05:22:47+00:00"
1183
  },
1184
  {
1185
  "name": "phpunit/phpunit-mock-objects",
1238
  "mock",
1239
  "xunit"
1240
  ],
1241
+ "abandoned": true,
1242
  "time": "2018-08-09T05:50:03+00:00"
1243
  },
1244
+ {
1245
+ "name": "psr/container",
1246
+ "version": "1.0.0",
1247
+ "source": {
1248
+ "type": "git",
1249
+ "url": "https://github.com/php-fig/container.git",
1250
+ "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f"
1251
+ },
1252
+ "dist": {
1253
+ "type": "zip",
1254
+ "url": "https://api.github.com/repos/php-fig/container/zipball/b7ce3b176482dbbc1245ebf52b181af44c2cf55f",
1255
+ "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f",
1256
+ "shasum": ""
1257
+ },
1258
+ "require": {
1259
+ "php": ">=5.3.0"
1260
+ },
1261
+ "type": "library",
1262
+ "extra": {
1263
+ "branch-alias": {
1264
+ "dev-master": "1.0.x-dev"
1265
+ }
1266
+ },
1267
+ "autoload": {
1268
+ "psr-4": {
1269
+ "Psr\\Container\\": "src/"
1270
+ }
1271
+ },
1272
+ "notification-url": "https://packagist.org/downloads/",
1273
+ "license": [
1274
+ "MIT"
1275
+ ],
1276
+ "authors": [
1277
+ {
1278
+ "name": "PHP-FIG",
1279
+ "homepage": "http://www.php-fig.org/"
1280
+ }
1281
+ ],
1282
+ "description": "Common Container Interface (PHP FIG PSR-11)",
1283
+ "homepage": "https://github.com/php-fig/container",
1284
+ "keywords": [
1285
+ "PSR-11",
1286
+ "container",
1287
+ "container-interface",
1288
+ "container-interop",
1289
+ "psr"
1290
+ ],
1291
+ "time": "2017-02-14T16:28:37+00:00"
1292
+ },
1293
  {
1294
  "name": "sebastian/code-unit-reverse-lookup",
1295
  "version": "1.0.1",
1503
  },
1504
  {
1505
  "name": "sebastian/exporter",
1506
+ "version": "3.1.2",
1507
  "source": {
1508
  "type": "git",
1509
  "url": "https://github.com/sebastianbergmann/exporter.git",
1510
+ "reference": "68609e1261d215ea5b21b7987539cbfbe156ec3e"
1511
  },
1512
  "dist": {
1513
  "type": "zip",
1514
+ "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/68609e1261d215ea5b21b7987539cbfbe156ec3e",
1515
+ "reference": "68609e1261d215ea5b21b7987539cbfbe156ec3e",
1516
  "shasum": ""
1517
  },
1518
  "require": {
1539
  "BSD-3-Clause"
1540
  ],
1541
  "authors": [
1542
+ {
1543
+ "name": "Sebastian Bergmann",
1544
+ "email": "sebastian@phpunit.de"
1545
+ },
1546
  {
1547
  "name": "Jeff Welch",
1548
  "email": "whatthejeff@gmail.com"
1551
  "name": "Volker Dusch",
1552
  "email": "github@wallbash.com"
1553
  },
 
 
 
 
 
 
 
 
1554
  {
1555
  "name": "Adam Harvey",
1556
  "email": "aharvey@php.net"
1557
+ },
1558
+ {
1559
+ "name": "Bernhard Schussek",
1560
+ "email": "bschussek@gmail.com"
1561
  }
1562
  ],
1563
  "description": "Provides the functionality to export PHP variables for visualization",
1566
  "export",
1567
  "exporter"
1568
  ],
1569
+ "time": "2019-09-14T09:02:43+00:00"
1570
  },
1571
  {
1572
  "name": "sebastian/global-state",
1851
  },
1852
  {
1853
  "name": "symfony/console",
1854
+ "version": "v4.4.4",
1855
  "source": {
1856
  "type": "git",
1857
  "url": "https://github.com/symfony/console.git",
1858
+ "reference": "f512001679f37e6a042b51897ed24a2f05eba656"
1859
  },
1860
  "dist": {
1861
  "type": "zip",
1862
+ "url": "https://api.github.com/repos/symfony/console/zipball/f512001679f37e6a042b51897ed24a2f05eba656",
1863
+ "reference": "f512001679f37e6a042b51897ed24a2f05eba656",
1864
  "shasum": ""
1865
  },
1866
  "require": {
1867
  "php": "^7.1.3",
1868
+ "symfony/polyfill-mbstring": "~1.0",
1869
+ "symfony/polyfill-php73": "^1.8",
1870
+ "symfony/service-contracts": "^1.1|^2"
1871
  },
1872
  "conflict": {
1873
  "symfony/dependency-injection": "<3.4",
1874
+ "symfony/event-dispatcher": "<4.3|>=5",
1875
+ "symfony/lock": "<4.4",
1876
  "symfony/process": "<3.3"
1877
  },
1878
+ "provide": {
1879
+ "psr/log-implementation": "1.0"
1880
+ },
1881
  "require-dev": {
1882
  "psr/log": "~1.0",
1883
+ "symfony/config": "^3.4|^4.0|^5.0",
1884
+ "symfony/dependency-injection": "^3.4|^4.0|^5.0",
1885
+ "symfony/event-dispatcher": "^4.3",
1886
+ "symfony/lock": "^4.4|^5.0",
1887
+ "symfony/process": "^3.4|^4.0|^5.0",
1888
+ "symfony/var-dumper": "^4.3|^5.0"
1889
  },
1890
  "suggest": {
1891
+ "psr/log": "For using the console logger",
1892
  "symfony/event-dispatcher": "",
1893
  "symfony/lock": "",
1894
  "symfony/process": ""
1896
  "type": "library",
1897
  "extra": {
1898
  "branch-alias": {
1899
+ "dev-master": "4.4-dev"
1900
  }
1901
  },
1902
  "autoload": {
1923
  ],
1924
  "description": "Symfony Console Component",
1925
  "homepage": "https://symfony.com",
1926
+ "time": "2020-01-25T12:44:29+00:00"
1927
  },
1928
  {
1929
+ "name": "symfony/polyfill-ctype",
1930
+ "version": "v1.14.0",
1931
  "source": {
1932
  "type": "git",
1933
+ "url": "https://github.com/symfony/polyfill-ctype.git",
1934
+ "reference": "fbdeaec0df06cf3d51c93de80c7eb76e271f5a38"
1935
  },
1936
  "dist": {
1937
  "type": "zip",
1938
+ "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/fbdeaec0df06cf3d51c93de80c7eb76e271f5a38",
1939
+ "reference": "fbdeaec0df06cf3d51c93de80c7eb76e271f5a38",
1940
  "shasum": ""
1941
  },
1942
  "require": {
1943
+ "php": ">=5.3.3"
 
 
 
 
1944
  },
1945
  "suggest": {
1946
+ "ext-ctype": "For best performance"
 
 
 
 
1947
  },
1948
  "type": "library",
1949
  "extra": {
1950
  "branch-alias": {
1951
+ "dev-master": "1.14-dev"
1952
  }
1953
  },
1954
  "autoload": {
1955
  "psr-4": {
1956
+ "Symfony\\Polyfill\\Ctype\\": ""
1957
  },
1958
+ "files": [
1959
+ "bootstrap.php"
1960
  ]
1961
  },
1962
  "notification-url": "https://packagist.org/downloads/",
1965
  ],
1966
  "authors": [
1967
  {
1968
+ "name": "Gert de Pagter",
1969
+ "email": "BackEndTea@gmail.com"
1970
  },
1971
  {
1972
  "name": "Symfony Community",
1973
  "homepage": "https://symfony.com/contributors"
1974
  }
1975
  ],
1976
+ "description": "Symfony polyfill for ctype functions",
1977
  "homepage": "https://symfony.com",
1978
  "keywords": [
1979
+ "compatibility",
1980
+ "ctype",
1981
+ "polyfill",
1982
+ "portable"
 
 
1983
  ],
1984
+ "time": "2020-01-13T11:15:53+00:00"
1985
  },
1986
  {
1987
+ "name": "symfony/polyfill-mbstring",
1988
+ "version": "v1.14.0",
1989
  "source": {
1990
  "type": "git",
1991
+ "url": "https://github.com/symfony/polyfill-mbstring.git",
1992
+ "reference": "34094cfa9abe1f0f14f48f490772db7a775559f2"
1993
  },
1994
  "dist": {
1995
  "type": "zip",
1996
+ "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/34094cfa9abe1f0f14f48f490772db7a775559f2",
1997
+ "reference": "34094cfa9abe1f0f14f48f490772db7a775559f2",
1998
  "shasum": ""
1999
  },
2000
  "require": {
2001
  "php": ">=5.3.3"
2002
  },
2003
  "suggest": {
2004
+ "ext-mbstring": "For best performance"
2005
  },
2006
  "type": "library",
2007
  "extra": {
2008
  "branch-alias": {
2009
+ "dev-master": "1.14-dev"
2010
  }
2011
  },
2012
  "autoload": {
2013
  "psr-4": {
2014
+ "Symfony\\Polyfill\\Mbstring\\": ""
2015
  },
2016
  "files": [
2017
  "bootstrap.php"
2023
  ],
2024
  "authors": [
2025
  {
2026
+ "name": "Nicolas Grekas",
2027
+ "email": "p@tchwork.com"
2028
  },
2029
  {
2030
+ "name": "Symfony Community",
2031
+ "homepage": "https://symfony.com/contributors"
2032
  }
2033
  ],
2034
+ "description": "Symfony polyfill for the Mbstring extension",
2035
  "homepage": "https://symfony.com",
2036
  "keywords": [
2037
  "compatibility",
2038
+ "mbstring",
2039
  "polyfill",
2040
+ "portable",
2041
+ "shim"
2042
  ],
2043
+ "time": "2020-01-13T11:15:53+00:00"
2044
  },
2045
  {
2046
+ "name": "symfony/polyfill-php73",
2047
+ "version": "v1.14.0",
2048
  "source": {
2049
  "type": "git",
2050
+ "url": "https://github.com/symfony/polyfill-php73.git",
2051
+ "reference": "5e66a0fa1070bf46bec4bea7962d285108edd675"
2052
  },
2053
  "dist": {
2054
  "type": "zip",
2055
+ "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/5e66a0fa1070bf46bec4bea7962d285108edd675",
2056
+ "reference": "5e66a0fa1070bf46bec4bea7962d285108edd675",
2057
  "shasum": ""
2058
  },
2059
  "require": {
2060
  "php": ">=5.3.3"
2061
  },
 
 
 
2062
  "type": "library",
2063
  "extra": {
2064
  "branch-alias": {
2065
+ "dev-master": "1.14-dev"
2066
  }
2067
  },
2068
  "autoload": {
2069
  "psr-4": {
2070
+ "Symfony\\Polyfill\\Php73\\": ""
2071
  },
2072
  "files": [
2073
  "bootstrap.php"
2074
+ ],
2075
+ "classmap": [
2076
+ "Resources/stubs"
2077
  ]
2078
  },
2079
  "notification-url": "https://packagist.org/downloads/",
2090
  "homepage": "https://symfony.com/contributors"
2091
  }
2092
  ],
2093
+ "description": "Symfony polyfill backporting some PHP 7.3+ features to lower PHP versions",
2094
  "homepage": "https://symfony.com",
2095
  "keywords": [
2096
  "compatibility",
 
2097
  "polyfill",
2098
  "portable",
2099
  "shim"
2100
  ],
2101
+ "time": "2020-01-13T11:15:53+00:00"
2102
+ },
2103
+ {
2104
+ "name": "symfony/service-contracts",
2105
+ "version": "v2.0.1",
2106
+ "source": {
2107
+ "type": "git",
2108
+ "url": "https://github.com/symfony/service-contracts.git",
2109
+ "reference": "144c5e51266b281231e947b51223ba14acf1a749"
2110
+ },
2111
+ "dist": {
2112
+ "type": "zip",
2113
+ "url": "https://api.github.com/repos/symfony/service-contracts/zipball/144c5e51266b281231e947b51223ba14acf1a749",
2114
+ "reference": "144c5e51266b281231e947b51223ba14acf1a749",
2115
+ "shasum": ""
2116
+ },
2117
+ "require": {
2118
+ "php": "^7.2.5",
2119
+ "psr/container": "^1.0"
2120
+ },
2121
+ "suggest": {
2122
+ "symfony/service-implementation": ""
2123
+ },
2124
+ "type": "library",
2125
+ "extra": {
2126
+ "branch-alias": {
2127
+ "dev-master": "2.0-dev"
2128
+ }
2129
+ },
2130
+ "autoload": {
2131
+ "psr-4": {
2132
+ "Symfony\\Contracts\\Service\\": ""
2133
+ }
2134
+ },
2135
+ "notification-url": "https://packagist.org/downloads/",
2136
+ "license": [
2137
+ "MIT"
2138
+ ],
2139
+ "authors": [
2140
+ {
2141
+ "name": "Nicolas Grekas",
2142
+ "email": "p@tchwork.com"
2143
+ },
2144
+ {
2145
+ "name": "Symfony Community",
2146
+ "homepage": "https://symfony.com/contributors"
2147
+ }
2148
+ ],
2149
+ "description": "Generic abstractions related to writing services",
2150
+ "homepage": "https://symfony.com",
2151
+ "keywords": [
2152
+ "abstractions",
2153
+ "contracts",
2154
+ "decoupling",
2155
+ "interfaces",
2156
+ "interoperability",
2157
+ "standards"
2158
+ ],
2159
+ "time": "2019-11-18T17:27:11+00:00"
2160
  },
2161
  {
2162
  "name": "symfony/yaml",
2163
+ "version": "v4.4.4",
2164
  "source": {
2165
  "type": "git",
2166
  "url": "https://github.com/symfony/yaml.git",
2167
+ "reference": "cd014e425b3668220adb865f53bff64b3ad21767"
2168
  },
2169
  "dist": {
2170
  "type": "zip",
2171
+ "url": "https://api.github.com/repos/symfony/yaml/zipball/cd014e425b3668220adb865f53bff64b3ad21767",
2172
+ "reference": "cd014e425b3668220adb865f53bff64b3ad21767",
2173
  "shasum": ""
2174
  },
2175
  "require": {
2180
  "symfony/console": "<3.4"
2181
  },
2182
  "require-dev": {
2183
+ "symfony/console": "^3.4|^4.0|^5.0"
2184
  },
2185
  "suggest": {
2186
  "symfony/console": "For validating YAML files using the lint command"
2188
  "type": "library",
2189
  "extra": {
2190
  "branch-alias": {
2191
+ "dev-master": "4.4-dev"
2192
  }
2193
  },
2194
  "autoload": {
2215
  ],
2216
  "description": "Symfony Yaml Component",
2217
  "homepage": "https://symfony.com",
2218
+ "time": "2020-01-21T11:12:16+00:00"
2219
  },
2220
  {
2221
  "name": "theseer/tokenizer",
2222
+ "version": "1.1.3",
2223
  "source": {
2224
  "type": "git",
2225
  "url": "https://github.com/theseer/tokenizer.git",
2226
+ "reference": "11336f6f84e16a720dae9d8e6ed5019efa85a0f9"
2227
  },
2228
  "dist": {
2229
  "type": "zip",
2230
+ "url": "https://api.github.com/repos/theseer/tokenizer/zipball/11336f6f84e16a720dae9d8e6ed5019efa85a0f9",
2231
+ "reference": "11336f6f84e16a720dae9d8e6ed5019efa85a0f9",
2232
  "shasum": ""
2233
  },
2234
  "require": {
2255
  }
2256
  ],
2257
  "description": "A small library for converting tokenized PHP source code into XML and potentially other formats",
2258
+ "time": "2019-06-13T22:48:21+00:00"
2259
  },
2260
  {
2261
  "name": "webmozart/assert",
2262
+ "version": "1.7.0",
2263
  "source": {
2264
  "type": "git",
2265
  "url": "https://github.com/webmozart/assert.git",
2266
+ "reference": "aed98a490f9a8f78468232db345ab9cf606cf598"
2267
  },
2268
  "dist": {
2269
  "type": "zip",
2270
+ "url": "https://api.github.com/repos/webmozart/assert/zipball/aed98a490f9a8f78468232db345ab9cf606cf598",
2271
+ "reference": "aed98a490f9a8f78468232db345ab9cf606cf598",
2272
  "shasum": ""
2273
  },
2274
  "require": {
2275
  "php": "^5.3.3 || ^7.0",
2276
  "symfony/polyfill-ctype": "^1.8"
2277
  },
2278
+ "conflict": {
2279
+ "vimeo/psalm": "<3.6.0"
2280
+ },
2281
  "require-dev": {
2282
+ "phpunit/phpunit": "^4.8.36 || ^7.5.13"
 
2283
  },
2284
  "type": "library",
 
 
 
 
 
2285
  "autoload": {
2286
  "psr-4": {
2287
  "Webmozart\\Assert\\": "src/"
2303
  "check",
2304
  "validate"
2305
  ],
2306
+ "time": "2020-02-14T12:15:55+00:00"
2307
  }
2308
  ],
2309
  "aliases": [],
2310
  "minimum-stability": "stable",
2311
  "stability-flags": {
2312
+ "techcrunch/wp-async-task": 20,
2313
  "phing/phing": 15
2314
  },
2315
  "prefer-stable": false,
core/EventIdGenerator.php ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (C) 2015-present, Facebook, Inc.
4
+ *
5
+ * This program is free software; you can redistribute it and/or modify
6
+ * it under the terms of the GNU General Public License as published by
7
+ * the Free Software Foundation; version 2 of the License.
8
+ *
9
+ * This program is distributed in the hope that it will be useful,
10
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
11
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
+ * GNU General Public License for more details.
13
+ *
14
+ * You should have received a copy of the GNU General Public License along
15
+ * with this program; if not, write to the Free Software Foundation, Inc.,
16
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
17
+ */
18
+
19
+ namespace FacebookPixelPlugin\Core;
20
+
21
+ final class EventIdGenerator {
22
+ /**
23
+ * Creates a new guid v4 - via https://stackoverflow.com/a/15875555
24
+ * @return string A 36 character string containing dashes.
25
+ */
26
+ public static function guidv4() {
27
+ $data = openssl_random_pseudo_bytes(16);
28
+
29
+ $data[6] = chr(ord($data[6]) & 0x0f | 0x40); // set version to 0100
30
+ $data[8] = chr(ord($data[8]) & 0x3f | 0x80); // set bits 6-7 to 10
31
+
32
+ return vsprintf('%s%s-%s-%s-%s-%s%s%s', str_split(bin2hex($data), 4));
33
+ }
34
+ }
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 = '1.8.0';
24
  const SOURCE = 'wordpress';
25
  const TEXT_DOMAIN = 'official-facebook-pixel';
26
 
@@ -32,6 +32,7 @@ class FacebookPluginConfig {
32
  const ADMIN_OPTION_GROUP = 'facebook_option_group';
33
  const ADMIN_PAGE_TITLE = 'Facebook Pixel Settings';
34
  const ADMIN_PRIVACY_URL = 'https://developers.facebook.com/docs/privacy/';
 
35
  const ADMIN_SECTION_ID = 'facebook_settings_section';
36
 
37
  const DEFAULT_PIXEL_ID = null;
@@ -39,6 +40,10 @@ class FacebookPluginConfig {
39
  const SETTINGS_KEY = 'facebook_config';
40
  const USE_PII_KEY = 'use_pii';
41
  const USE_ADVANCED_MATCHING_DEFAULT = null;
 
 
 
 
42
 
43
  const IS_PIXEL_RENDERED = 'is_pixel_rendered';
44
  const IS_NOSCRIPT_RENDERED = 'is_noscript_rendered';
20
  defined('ABSPATH') or die('Direct access not allowed');
21
 
22
  class FacebookPluginConfig {
23
+ const PLUGIN_VERSION = '2.0.0';
24
  const SOURCE = 'wordpress';
25
  const TEXT_DOMAIN = 'official-facebook-pixel';
26
 
32
  const ADMIN_OPTION_GROUP = 'facebook_option_group';
33
  const ADMIN_PAGE_TITLE = 'Facebook Pixel Settings';
34
  const ADMIN_PRIVACY_URL = 'https://developers.facebook.com/docs/privacy/';
35
+ const ADMIN_S2S_URL = 'https://developers.facebook.com/docs/marketing-api/facebook-pixel/server-side-api';
36
  const ADMIN_SECTION_ID = 'facebook_settings_section';
37
 
38
  const DEFAULT_PIXEL_ID = null;
40
  const SETTINGS_KEY = 'facebook_config';
41
  const USE_PII_KEY = 'use_pii';
42
  const USE_ADVANCED_MATCHING_DEFAULT = null;
43
+ const USE_S2S_KEY = 'use_s2s';
44
+ const DEFAULT_ACCESS_TOKEN = null;
45
+ const ACCESS_TOKEN_KEY = 'access_token';
46
+ const USE_S2S_DEFAULT = null;
47
 
48
  const IS_PIXEL_RENDERED = 'is_pixel_rendered';
49
  const IS_NOSCRIPT_RENDERED = 'is_noscript_rendered';
core/FacebookPluginUtils.php CHANGED
@@ -40,4 +40,17 @@ class FacebookPluginUtils {
40
  public static function isAdmin() {
41
  return current_user_can('install_plugins');
42
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
43
  }
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)) {
47
+ return array();
48
+ }
49
+
50
+ return array(
51
+ 'email' => $current_user->user_email,
52
+ 'first_name' => $current_user->user_firstname,
53
+ 'last_name' => $current_user->user_lastname,
54
+ );
55
+ }
56
  }
core/FacebookServerSideEvent.php ADDED
@@ -0,0 +1,68 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * Copyright (C) 2017-present, Facebook, Inc.
4
+ *
5
+ * This program is free software; you can redistribute it and/or modify
6
+ * it under the terms of the GNU General Public License as published by
7
+ * the Free Software Foundation; version 2 of the License.
8
+ * This program is distributed in the hope that it will be useful,
9
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
10
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11
+ * GNU General Public License for more details.
12
+ */
13
+
14
+ /**
15
+ * @package FacebookPixelPlugin
16
+ */
17
+
18
+ namespace FacebookPixelPlugin\Core;
19
+
20
+ use FacebookAds\Api;
21
+ use FacebookAds\Object\ServerSide\Event;
22
+ use FacebookAds\Object\ServerSide\EventRequest;
23
+ use FacebookAds\Object\ServerSide\UserData;
24
+
25
+ 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) {
52
+ if (empty($events)) {
53
+ return;
54
+ }
55
+
56
+ $pixel_id = FacebookWordpressOptions::getPixelId();
57
+ $access_token = FacebookWordpressOptions::getAccessToken();
58
+ $agent = FacebookWordpressOptions::getAgentString();
59
+
60
+ $api = Api::init(null, null, $access_token);
61
+
62
+ $request = (new EventRequest($pixel_id))
63
+ ->setEvents($events)
64
+ ->setPartnerAgent($agent);
65
+
66
+ $response = $request->execute();
67
+ }
68
+ }
core/FacebookWordpressOptions.php CHANGED
@@ -39,32 +39,57 @@ class FacebookWordpressOptions {
39
  ? '' : FacebookPluginConfig::DEFAULT_PIXEL_ID;
40
  }
41
 
 
 
 
 
 
42
  // Default is on for unset config
43
  public static function getDefaultUsePIIKey() {
44
  return (!is_null(FacebookPluginConfig::USE_ADVANCED_MATCHING_DEFAULT)
45
  && !FacebookPluginConfig::USE_ADVANCED_MATCHING_DEFAULT) ? '0' : '1';
46
  }
47
 
 
 
 
 
 
 
48
  private static function setOptions() {
49
  self::$options = \get_option(
50
  FacebookPluginConfig::SETTINGS_KEY,
51
  array(
52
  FacebookPluginConfig::PIXEL_ID_KEY => self::getDefaultPixelID(),
53
  FacebookPluginConfig::USE_PII_KEY => self::getDefaultUsePIIKey(),
 
 
54
  ));
 
55
  // we need esc_js because the id is set through the form
56
  self::$options[FacebookPluginConfig::PIXEL_ID_KEY] =
57
  esc_js(self::$options[FacebookPluginConfig::PIXEL_ID_KEY]);
 
 
 
58
  }
59
 
60
  public static function getPixelId() {
61
  return self::$options[FacebookPluginConfig::PIXEL_ID_KEY];
62
  }
63
 
 
 
 
 
64
  public static function getUsePii() {
65
  return self::$options[FacebookPluginConfig::USE_PII_KEY];
66
  }
67
 
 
 
 
 
68
  public static function getUserInfo() {
69
  return self::$userInfo;
70
  }
39
  ? '' : FacebookPluginConfig::DEFAULT_PIXEL_ID;
40
  }
41
 
42
+ public static function getDefaultAccessToken() {
43
+ return is_null(FacebookPluginConfig::DEFAULT_ACCESS_TOKEN)
44
+ ? '' : FacebookPluginConfig::DEFAULT_ACCESS_TOKEN;
45
+ }
46
+
47
  // Default is on for unset config
48
  public static function getDefaultUsePIIKey() {
49
  return (!is_null(FacebookPluginConfig::USE_ADVANCED_MATCHING_DEFAULT)
50
  && !FacebookPluginConfig::USE_ADVANCED_MATCHING_DEFAULT) ? '0' : '1';
51
  }
52
 
53
+ // We default not to send events through S2S, if the config is unset.
54
+ public static function getDefaultUseS2SKey() {
55
+ return (is_null(FacebookPluginConfig::USE_S2S_DEFAULT)
56
+ || !FacebookPluginConfig::USE_S2S_DEFAULT) ? '0' : '1';
57
+ }
58
+
59
  private static function setOptions() {
60
  self::$options = \get_option(
61
  FacebookPluginConfig::SETTINGS_KEY,
62
  array(
63
  FacebookPluginConfig::PIXEL_ID_KEY => self::getDefaultPixelID(),
64
  FacebookPluginConfig::USE_PII_KEY => self::getDefaultUsePIIKey(),
65
+ FacebookPluginConfig::USE_S2S_KEY => self::getDefaultUseS2SKey(),
66
+ FacebookPluginConfig::ACCESS_TOKEN_KEY => self::getDefaultAccessToken(),
67
  ));
68
+
69
  // we need esc_js because the id is set through the form
70
  self::$options[FacebookPluginConfig::PIXEL_ID_KEY] =
71
  esc_js(self::$options[FacebookPluginConfig::PIXEL_ID_KEY]);
72
+
73
+ self::$options[FacebookPluginConfig::ACCESS_TOKEN_KEY] =
74
+ esc_js(self::$options[FacebookPluginConfig::ACCESS_TOKEN_KEY]);
75
  }
76
 
77
  public static function getPixelId() {
78
  return self::$options[FacebookPluginConfig::PIXEL_ID_KEY];
79
  }
80
 
81
+ public static function getAccessToken() {
82
+ return self::$options[FacebookPluginConfig::ACCESS_TOKEN_KEY];
83
+ }
84
+
85
  public static function getUsePii() {
86
  return self::$options[FacebookPluginConfig::USE_PII_KEY];
87
  }
88
 
89
+ public static function getUseS2S() {
90
+ return self::$options[FacebookPluginConfig::USE_S2S_KEY];
91
+ }
92
+
93
  public static function getUserInfo() {
94
  return self::$userInfo;
95
  }
core/FacebookWordpressPixelInjection.php CHANGED
@@ -23,6 +23,9 @@ class FacebookWordpressPixelInjection {
23
  public static $renderCache = array();
24
 
25
  public function __construct() {
 
 
 
26
  $pixel_id = FacebookWordpressOptions::getPixelId();
27
  if (FacebookPluginUtils::isPositiveInteger($pixel_id)) {
28
  add_action(
23
  public static $renderCache = array();
24
 
25
  public function __construct() {
26
+ }
27
+
28
+ public function inject() {
29
  $pixel_id = FacebookWordpressOptions::getPixelId();
30
  if (FacebookPluginUtils::isPositiveInteger($pixel_id)) {
31
  add_action(
core/FacebookWordpressSettingsPage.php CHANGED
@@ -88,6 +88,18 @@ class FacebookWordpressSettingsPage {
88
  array($this, 'usePiiFormField'),
89
  FacebookPluginConfig::ADMIN_MENU_SLUG,
90
  FacebookPluginConfig::ADMIN_SECTION_ID);
 
 
 
 
 
 
 
 
 
 
 
 
91
  }
92
 
93
  public function sanitizeInput($input) {
@@ -130,6 +142,28 @@ class FacebookWordpressSettingsPage {
130
  $description);
131
  }
132
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
133
  public function usePiiFormField() {
134
  $link = sprintf(
135
  wp_kses(
@@ -164,6 +198,44 @@ class FacebookWordpressSettingsPage {
164
  $link);
165
  }
166
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
167
  public function registerNotices() {
168
  // Update class field
169
  $pixel_id = FacebookWordpressOptions::getPixelId();
88
  array($this, 'usePiiFormField'),
89
  FacebookPluginConfig::ADMIN_MENU_SLUG,
90
  FacebookPluginConfig::ADMIN_SECTION_ID);
91
+ add_settings_field(
92
+ FacebookPluginConfig::USE_S2S_KEY,
93
+ 'Use Server-Side API?',
94
+ array($this, 'useS2SFormField'),
95
+ FacebookPluginConfig::ADMIN_MENU_SLUG,
96
+ FacebookPluginConfig::ADMIN_SECTION_ID);
97
+ add_settings_field(
98
+ FacebookPluginConfig::ACCESS_TOKEN_KEY,
99
+ 'Access Token',
100
+ array($this, 'accessTokenFormField'),
101
+ FacebookPluginConfig::ADMIN_MENU_SLUG,
102
+ FacebookPluginConfig::ADMIN_SECTION_ID);
103
  }
104
 
105
  public function sanitizeInput($input) {
142
  $description);
143
  }
144