mirror of
https://github.com/woocommerce/woocommerce-paypal-payments.git
synced 2025-09-08 19:48:52 +08:00
Merge pull request #1076 from woocommerce/PCP-121-remove-plugin-data-after-uninstalling
Remove plugin data options.
This commit is contained in:
commit
f74adcd7b5
20 changed files with 3365 additions and 22 deletions
|
@ -8,3 +8,23 @@ if (!defined('MONTH_IN_SECONDS')) {
|
||||||
if (!defined('HOUR_IN_SECONDS')) {
|
if (!defined('HOUR_IN_SECONDS')) {
|
||||||
define('HOUR_IN_SECONDS', 60 * MINUTE_IN_SECONDS);
|
define('HOUR_IN_SECONDS', 60 * MINUTE_IN_SECONDS);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Cancel the next occurrence of a scheduled action.
|
||||||
|
*
|
||||||
|
* While only the next instance of a recurring or cron action is unscheduled by this method, that will also prevent
|
||||||
|
* all future instances of that recurring or cron action from being run. Recurring and cron actions are scheduled in
|
||||||
|
* a sequence instead of all being scheduled at once. Each successive occurrence of a recurring action is scheduled
|
||||||
|
* only after the former action is run. If the next instance is never run, because it's unscheduled by this function,
|
||||||
|
* then the following instance will never be scheduled (or exist), which is effectively the same as being unscheduled
|
||||||
|
* by this method also.
|
||||||
|
*
|
||||||
|
* @param string $hook The hook that the job will trigger.
|
||||||
|
* @param array $args Args that would have been passed to the job.
|
||||||
|
* @param string $group The group the job is assigned to.
|
||||||
|
*
|
||||||
|
* @return string|null The scheduled action ID if a scheduled action was found, or null if no matching action found.
|
||||||
|
*/
|
||||||
|
function as_unschedule_action($hook, $args = array(), $group = '')
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
412
composer.lock
generated
412
composer.lock
generated
|
@ -35,6 +35,10 @@
|
||||||
],
|
],
|
||||||
"description": "Promoting container interoperability through standard service providers",
|
"description": "Promoting container interoperability through standard service providers",
|
||||||
"homepage": "https://github.com/container-interop/service-provider",
|
"homepage": "https://github.com/container-interop/service-provider",
|
||||||
|
"support": {
|
||||||
|
"issues": "https://github.com/container-interop/service-provider/issues",
|
||||||
|
"source": "https://github.com/container-interop/service-provider/tree/master"
|
||||||
|
},
|
||||||
"time": "2017-09-20T14:13:36+00:00"
|
"time": "2017-09-20T14:13:36+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -86,6 +90,10 @@
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"description": "Interfaces for human readable string interoperation.",
|
"description": "Interfaces for human readable string interoperation.",
|
||||||
|
"support": {
|
||||||
|
"issues": "https://github.com/Dhii/human-readable-interface/issues",
|
||||||
|
"source": "https://github.com/Dhii/human-readable-interface/tree/v0.2.0-alpha1"
|
||||||
|
},
|
||||||
"time": "2021-03-05T00:36:01+00:00"
|
"time": "2021-03-05T00:36:01+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -134,6 +142,10 @@
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"description": "Interfaces for modules",
|
"description": "Interfaces for modules",
|
||||||
|
"support": {
|
||||||
|
"issues": "https://github.com/Dhii/module-interface/issues",
|
||||||
|
"source": "https://github.com/Dhii/module-interface/tree/v0.3.0-alpha2"
|
||||||
|
},
|
||||||
"time": "2021-08-23T08:23:01+00:00"
|
"time": "2021-08-23T08:23:01+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -177,6 +189,10 @@
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"description": "Interfaces for package-related interop",
|
"description": "Interfaces for package-related interop",
|
||||||
|
"support": {
|
||||||
|
"issues": "https://github.com/Dhii/package-interface/issues",
|
||||||
|
"source": "https://github.com/Dhii/package-interface/tree/v0.1.0-alpha4"
|
||||||
|
},
|
||||||
"time": "2021-12-08T15:57:36+00:00"
|
"time": "2021-12-08T15:57:36+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -225,6 +241,10 @@
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"description": "A base interface for validators",
|
"description": "A base interface for validators",
|
||||||
|
"support": {
|
||||||
|
"issues": "https://github.com/Dhii/validation-interface/issues",
|
||||||
|
"source": "https://github.com/Dhii/validation-interface/tree/v0.3.0-alpha3"
|
||||||
|
},
|
||||||
"time": "2021-01-14T16:19:20+00:00"
|
"time": "2021-01-14T16:19:20+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -268,6 +288,10 @@
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"description": "Implementation for dealing with SemVer-compliant versions",
|
"description": "Implementation for dealing with SemVer-compliant versions",
|
||||||
|
"support": {
|
||||||
|
"issues": "https://github.com/Dhii/versions/issues",
|
||||||
|
"source": "https://github.com/Dhii/versions/tree/v0.1.0-alpha3"
|
||||||
|
},
|
||||||
"time": "2021-12-08T16:54:50+00:00"
|
"time": "2021-12-08T16:54:50+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -312,6 +336,10 @@
|
||||||
"container-interop",
|
"container-interop",
|
||||||
"psr"
|
"psr"
|
||||||
],
|
],
|
||||||
|
"support": {
|
||||||
|
"issues": "https://github.com/php-fig/container/issues",
|
||||||
|
"source": "https://github.com/php-fig/container/tree/1.1.1"
|
||||||
|
},
|
||||||
"time": "2021-03-05T17:36:06+00:00"
|
"time": "2021-03-05T17:36:06+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -359,6 +387,9 @@
|
||||||
"psr",
|
"psr",
|
||||||
"psr-3"
|
"psr-3"
|
||||||
],
|
],
|
||||||
|
"support": {
|
||||||
|
"source": "https://github.com/php-fig/log/tree/1.1.4"
|
||||||
|
},
|
||||||
"time": "2021-05-03T11:20:27+00:00"
|
"time": "2021-05-03T11:20:27+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -399,6 +430,10 @@
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"description": "A polyfill for getallheaders.",
|
"description": "A polyfill for getallheaders.",
|
||||||
|
"support": {
|
||||||
|
"issues": "https://github.com/ralouphie/getallheaders/issues",
|
||||||
|
"source": "https://github.com/ralouphie/getallheaders/tree/develop"
|
||||||
|
},
|
||||||
"time": "2019-03-08T08:55:37+00:00"
|
"time": "2019-03-08T08:55:37+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -465,6 +500,9 @@
|
||||||
"portable",
|
"portable",
|
||||||
"shim"
|
"shim"
|
||||||
],
|
],
|
||||||
|
"support": {
|
||||||
|
"source": "https://github.com/symfony/polyfill-php80/tree/v1.27.0"
|
||||||
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
"url": "https://symfony.com/sponsor",
|
"url": "https://symfony.com/sponsor",
|
||||||
|
@ -528,6 +566,10 @@
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"description": "Composer plugin to merge multiple composer.json files",
|
"description": "Composer plugin to merge multiple composer.json files",
|
||||||
|
"support": {
|
||||||
|
"issues": "https://github.com/wikimedia/composer-merge-plugin/issues",
|
||||||
|
"source": "https://github.com/wikimedia/composer-merge-plugin/tree/v2.0.1"
|
||||||
|
},
|
||||||
"time": "2021-02-24T05:28:06+00:00"
|
"time": "2021-02-24T05:28:06+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -576,6 +618,10 @@
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"description": "Interfaces for interop within WordPress",
|
"description": "Interfaces for interop within WordPress",
|
||||||
|
"support": {
|
||||||
|
"issues": "https://github.com/wp-oop/wordpress-interface/issues",
|
||||||
|
"source": "https://github.com/wp-oop/wordpress-interface/tree/v0.1.0-alpha2"
|
||||||
|
},
|
||||||
"time": "2021-04-30T09:37:37+00:00"
|
"time": "2021-04-30T09:37:37+00:00"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
@ -656,6 +702,11 @@
|
||||||
"non-blocking",
|
"non-blocking",
|
||||||
"promise"
|
"promise"
|
||||||
],
|
],
|
||||||
|
"support": {
|
||||||
|
"irc": "irc://irc.freenode.org/amphp",
|
||||||
|
"issues": "https://github.com/amphp/amp/issues",
|
||||||
|
"source": "https://github.com/amphp/amp/tree/v2.6.2"
|
||||||
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
"url": "https://github.com/amphp",
|
"url": "https://github.com/amphp",
|
||||||
|
@ -697,12 +748,12 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"autoload": {
|
"autoload": {
|
||||||
"psr-4": {
|
|
||||||
"Amp\\ByteStream\\": "lib"
|
|
||||||
},
|
|
||||||
"files": [
|
"files": [
|
||||||
"lib/functions.php"
|
"lib/functions.php"
|
||||||
]
|
],
|
||||||
|
"psr-4": {
|
||||||
|
"Amp\\ByteStream\\": "lib"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"notification-url": "https://packagist.org/downloads/",
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
"license": [
|
"license": [
|
||||||
|
@ -728,6 +779,11 @@
|
||||||
"non-blocking",
|
"non-blocking",
|
||||||
"stream"
|
"stream"
|
||||||
],
|
],
|
||||||
|
"support": {
|
||||||
|
"irc": "irc://irc.freenode.org/amphp",
|
||||||
|
"issues": "https://github.com/amphp/byte-stream/issues",
|
||||||
|
"source": "https://github.com/amphp/byte-stream/tree/v1.8.1"
|
||||||
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
"url": "https://github.com/amphp",
|
"url": "https://github.com/amphp",
|
||||||
|
@ -778,6 +834,10 @@
|
||||||
"runkit",
|
"runkit",
|
||||||
"testing"
|
"testing"
|
||||||
],
|
],
|
||||||
|
"support": {
|
||||||
|
"issues": "https://github.com/antecedent/patchwork/issues",
|
||||||
|
"source": "https://github.com/antecedent/patchwork/tree/2.1.21"
|
||||||
|
},
|
||||||
"time": "2022-02-07T07:28:34+00:00"
|
"time": "2022-02-07T07:28:34+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -844,6 +904,10 @@
|
||||||
"test",
|
"test",
|
||||||
"testing"
|
"testing"
|
||||||
],
|
],
|
||||||
|
"support": {
|
||||||
|
"issues": "https://github.com/Brain-WP/BrainMonkey/issues",
|
||||||
|
"source": "https://github.com/Brain-WP/BrainMonkey"
|
||||||
|
},
|
||||||
"time": "2021-11-11T15:53:55+00:00"
|
"time": "2021-11-11T15:53:55+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -899,6 +963,10 @@
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"description": "Composer plugin that provides efficient querying for installed package versions (no runtime IO)",
|
"description": "Composer plugin that provides efficient querying for installed package versions (no runtime IO)",
|
||||||
|
"support": {
|
||||||
|
"issues": "https://github.com/composer/package-versions-deprecated/issues",
|
||||||
|
"source": "https://github.com/composer/package-versions-deprecated/tree/1.11.99.5"
|
||||||
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
"url": "https://packagist.com",
|
"url": "https://packagist.com",
|
||||||
|
@ -917,16 +985,16 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "composer/pcre",
|
"name": "composer/pcre",
|
||||||
"version": "2.0.2",
|
"version": "2.1.0",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/composer/pcre.git",
|
"url": "https://github.com/composer/pcre.git",
|
||||||
"reference": "36d3086c793f32a9a9e853a0abe8e19ec9d936fa"
|
"reference": "3fdb2807b31a78a40ad89570e30ec77466c98717"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/composer/pcre/zipball/36d3086c793f32a9a9e853a0abe8e19ec9d936fa",
|
"url": "https://api.github.com/repos/composer/pcre/zipball/3fdb2807b31a78a40ad89570e30ec77466c98717",
|
||||||
"reference": "36d3086c793f32a9a9e853a0abe8e19ec9d936fa",
|
"reference": "3fdb2807b31a78a40ad89570e30ec77466c98717",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
|
@ -966,6 +1034,10 @@
|
||||||
"regex",
|
"regex",
|
||||||
"regular expression"
|
"regular expression"
|
||||||
],
|
],
|
||||||
|
"support": {
|
||||||
|
"issues": "https://github.com/composer/pcre/issues",
|
||||||
|
"source": "https://github.com/composer/pcre/tree/2.1.0"
|
||||||
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
"url": "https://packagist.com",
|
"url": "https://packagist.com",
|
||||||
|
@ -980,7 +1052,7 @@
|
||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2022-11-03T20:20:28+00:00"
|
"time": "2022-11-16T18:32:04+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "composer/semver",
|
"name": "composer/semver",
|
||||||
|
@ -1042,6 +1114,11 @@
|
||||||
"validation",
|
"validation",
|
||||||
"versioning"
|
"versioning"
|
||||||
],
|
],
|
||||||
|
"support": {
|
||||||
|
"irc": "irc://irc.freenode.org/composer",
|
||||||
|
"issues": "https://github.com/composer/semver/issues",
|
||||||
|
"source": "https://github.com/composer/semver/tree/3.3.2"
|
||||||
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
"url": "https://packagist.com",
|
"url": "https://packagist.com",
|
||||||
|
@ -1103,6 +1180,11 @@
|
||||||
"Xdebug",
|
"Xdebug",
|
||||||
"performance"
|
"performance"
|
||||||
],
|
],
|
||||||
|
"support": {
|
||||||
|
"irc": "irc://irc.freenode.org/composer",
|
||||||
|
"issues": "https://github.com/composer/xdebug-handler/issues",
|
||||||
|
"source": "https://github.com/composer/xdebug-handler/tree/3.0.3"
|
||||||
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
"url": "https://packagist.com",
|
"url": "https://packagist.com",
|
||||||
|
@ -1188,6 +1270,10 @@
|
||||||
"stylecheck",
|
"stylecheck",
|
||||||
"tests"
|
"tests"
|
||||||
],
|
],
|
||||||
|
"support": {
|
||||||
|
"issues": "https://github.com/dealerdirect/phpcodesniffer-composer-installer/issues",
|
||||||
|
"source": "https://github.com/dealerdirect/phpcodesniffer-composer-installer"
|
||||||
|
},
|
||||||
"time": "2022-02-04T12:51:07+00:00"
|
"time": "2022-02-04T12:51:07+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -1239,6 +1325,10 @@
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"description": "A highly ISP-compliant collection of interfaces that represent maps and lists.",
|
"description": "A highly ISP-compliant collection of interfaces that represent maps and lists.",
|
||||||
|
"support": {
|
||||||
|
"issues": "https://github.com/Dhii/collections-interface/issues",
|
||||||
|
"source": "https://github.com/Dhii/collections-interface/tree/v0.3.0"
|
||||||
|
},
|
||||||
"time": "2021-10-06T10:56:09+00:00"
|
"time": "2021-10-06T10:56:09+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -1295,6 +1385,10 @@
|
||||||
"PSR-11",
|
"PSR-11",
|
||||||
"container"
|
"container"
|
||||||
],
|
],
|
||||||
|
"support": {
|
||||||
|
"issues": "https://github.com/Dhii/containers/issues",
|
||||||
|
"source": "https://github.com/Dhii/containers/tree/v0.1.4"
|
||||||
|
},
|
||||||
"time": "2021-10-06T11:13:51+00:00"
|
"time": "2021-10-06T11:13:51+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -1328,6 +1422,10 @@
|
||||||
"MIT"
|
"MIT"
|
||||||
],
|
],
|
||||||
"description": "implementation of xdg base directory specification for php",
|
"description": "implementation of xdg base directory specification for php",
|
||||||
|
"support": {
|
||||||
|
"issues": "https://github.com/dnoegel/php-xdg-base-dir/issues",
|
||||||
|
"source": "https://github.com/dnoegel/php-xdg-base-dir/tree/v0.1.1"
|
||||||
|
},
|
||||||
"time": "2019-12-04T15:06:13+00:00"
|
"time": "2019-12-04T15:06:13+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -1380,6 +1478,10 @@
|
||||||
"constructor",
|
"constructor",
|
||||||
"instantiate"
|
"instantiate"
|
||||||
],
|
],
|
||||||
|
"support": {
|
||||||
|
"issues": "https://github.com/doctrine/instantiator/issues",
|
||||||
|
"source": "https://github.com/doctrine/instantiator/tree/1.4.1"
|
||||||
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
"url": "https://www.doctrine-project.org/sponsorship.html",
|
"url": "https://www.doctrine-project.org/sponsorship.html",
|
||||||
|
@ -1435,6 +1537,10 @@
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"description": "A more advanced JSONRPC implementation",
|
"description": "A more advanced JSONRPC implementation",
|
||||||
|
"support": {
|
||||||
|
"issues": "https://github.com/felixfbecker/php-advanced-json-rpc/issues",
|
||||||
|
"source": "https://github.com/felixfbecker/php-advanced-json-rpc/tree/v3.2.1"
|
||||||
|
},
|
||||||
"time": "2021-06-11T22:34:44+00:00"
|
"time": "2021-06-11T22:34:44+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -1487,6 +1593,10 @@
|
||||||
"php",
|
"php",
|
||||||
"server"
|
"server"
|
||||||
],
|
],
|
||||||
|
"support": {
|
||||||
|
"issues": "https://github.com/felixfbecker/php-language-server-protocol/issues",
|
||||||
|
"source": "https://github.com/felixfbecker/php-language-server-protocol/tree/v1.5.2"
|
||||||
|
},
|
||||||
"time": "2022-03-02T22:36:06+00:00"
|
"time": "2022-03-02T22:36:06+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -1535,6 +1645,10 @@
|
||||||
"Result-Type",
|
"Result-Type",
|
||||||
"result"
|
"result"
|
||||||
],
|
],
|
||||||
|
"support": {
|
||||||
|
"issues": "https://github.com/GrahamCampbell/Result-Type/issues",
|
||||||
|
"source": "https://github.com/GrahamCampbell/Result-Type/tree/v1.1.0"
|
||||||
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
"url": "https://github.com/GrahamCampbell",
|
"url": "https://github.com/GrahamCampbell",
|
||||||
|
@ -1592,6 +1706,10 @@
|
||||||
"keywords": [
|
"keywords": [
|
||||||
"test"
|
"test"
|
||||||
],
|
],
|
||||||
|
"support": {
|
||||||
|
"issues": "https://github.com/hamcrest/hamcrest-php/issues",
|
||||||
|
"source": "https://github.com/hamcrest/hamcrest-php/tree/v2.0.1"
|
||||||
|
},
|
||||||
"time": "2020-07-09T08:09:16+00:00"
|
"time": "2020-07-09T08:09:16+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -1657,6 +1775,10 @@
|
||||||
"test double",
|
"test double",
|
||||||
"testing"
|
"testing"
|
||||||
],
|
],
|
||||||
|
"support": {
|
||||||
|
"issues": "https://github.com/mockery/mockery/issues",
|
||||||
|
"source": "https://github.com/mockery/mockery/tree/1.3.6"
|
||||||
|
},
|
||||||
"time": "2022-09-07T15:05:49+00:00"
|
"time": "2022-09-07T15:05:49+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -1706,6 +1828,10 @@
|
||||||
"object",
|
"object",
|
||||||
"object graph"
|
"object graph"
|
||||||
],
|
],
|
||||||
|
"support": {
|
||||||
|
"issues": "https://github.com/myclabs/DeepCopy/issues",
|
||||||
|
"source": "https://github.com/myclabs/DeepCopy/tree/1.11.0"
|
||||||
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
"url": "https://tidelift.com/funding/github/packagist/myclabs/deep-copy",
|
"url": "https://tidelift.com/funding/github/packagist/myclabs/deep-copy",
|
||||||
|
@ -1716,16 +1842,16 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "netresearch/jsonmapper",
|
"name": "netresearch/jsonmapper",
|
||||||
"version": "v4.0.0",
|
"version": "v4.1.0",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/cweiske/jsonmapper.git",
|
"url": "https://github.com/cweiske/jsonmapper.git",
|
||||||
"reference": "8bbc021a8edb2e4a7ea2f8ad4fa9ec9dce2fcb8d"
|
"reference": "cfa81ea1d35294d64adb9c68aa4cb9e92400e53f"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/cweiske/jsonmapper/zipball/8bbc021a8edb2e4a7ea2f8ad4fa9ec9dce2fcb8d",
|
"url": "https://api.github.com/repos/cweiske/jsonmapper/zipball/cfa81ea1d35294d64adb9c68aa4cb9e92400e53f",
|
||||||
"reference": "8bbc021a8edb2e4a7ea2f8ad4fa9ec9dce2fcb8d",
|
"reference": "cfa81ea1d35294d64adb9c68aa4cb9e92400e53f",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
|
@ -1758,7 +1884,12 @@
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"description": "Map nested JSON structures onto PHP classes",
|
"description": "Map nested JSON structures onto PHP classes",
|
||||||
"time": "2020-12-01T19:48:11+00:00"
|
"support": {
|
||||||
|
"email": "cweiske@cweiske.de",
|
||||||
|
"issues": "https://github.com/cweiske/jsonmapper/issues",
|
||||||
|
"source": "https://github.com/cweiske/jsonmapper/tree/v4.1.0"
|
||||||
|
},
|
||||||
|
"time": "2022-12-08T20:46:14+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "nikic/php-parser",
|
"name": "nikic/php-parser",
|
||||||
|
@ -1810,6 +1941,10 @@
|
||||||
"parser",
|
"parser",
|
||||||
"php"
|
"php"
|
||||||
],
|
],
|
||||||
|
"support": {
|
||||||
|
"issues": "https://github.com/nikic/PHP-Parser/issues",
|
||||||
|
"source": "https://github.com/nikic/PHP-Parser/tree/v4.15.2"
|
||||||
|
},
|
||||||
"time": "2022-11-12T15:38:23+00:00"
|
"time": "2022-11-12T15:38:23+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -1859,6 +1994,10 @@
|
||||||
"xml",
|
"xml",
|
||||||
"xml conversion"
|
"xml conversion"
|
||||||
],
|
],
|
||||||
|
"support": {
|
||||||
|
"issues": "https://github.com/nullivex/lib-array2xml/issues",
|
||||||
|
"source": "https://github.com/nullivex/lib-array2xml/tree/master"
|
||||||
|
},
|
||||||
"time": "2019-03-29T20:06:56+00:00"
|
"time": "2019-03-29T20:06:56+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -1915,6 +2054,10 @@
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)",
|
"description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)",
|
||||||
|
"support": {
|
||||||
|
"issues": "https://github.com/phar-io/manifest/issues",
|
||||||
|
"source": "https://github.com/phar-io/manifest/tree/2.0.3"
|
||||||
|
},
|
||||||
"time": "2021-07-20T11:28:43+00:00"
|
"time": "2021-07-20T11:28:43+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -1962,6 +2105,10 @@
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"description": "Library for handling version information and constraints",
|
"description": "Library for handling version information and constraints",
|
||||||
|
"support": {
|
||||||
|
"issues": "https://github.com/phar-io/version/issues",
|
||||||
|
"source": "https://github.com/phar-io/version/tree/3.2.1"
|
||||||
|
},
|
||||||
"time": "2022-02-21T01:04:05+00:00"
|
"time": "2022-02-21T01:04:05+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -2002,6 +2149,10 @@
|
||||||
"woocommerce",
|
"woocommerce",
|
||||||
"wordpress"
|
"wordpress"
|
||||||
],
|
],
|
||||||
|
"support": {
|
||||||
|
"issues": "https://github.com/php-stubs/woocommerce-stubs/issues",
|
||||||
|
"source": "https://github.com/php-stubs/woocommerce-stubs/tree/v5.9.1"
|
||||||
|
},
|
||||||
"time": "2022-04-30T06:35:48+00:00"
|
"time": "2022-04-30T06:35:48+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -2045,6 +2196,10 @@
|
||||||
"static analysis",
|
"static analysis",
|
||||||
"wordpress"
|
"wordpress"
|
||||||
],
|
],
|
||||||
|
"support": {
|
||||||
|
"issues": "https://github.com/php-stubs/wordpress-stubs/issues",
|
||||||
|
"source": "https://github.com/php-stubs/wordpress-stubs/tree/v5.9.5"
|
||||||
|
},
|
||||||
"time": "2022-11-09T05:32:14+00:00"
|
"time": "2022-11-09T05:32:14+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -2103,6 +2258,10 @@
|
||||||
"phpcs",
|
"phpcs",
|
||||||
"standards"
|
"standards"
|
||||||
],
|
],
|
||||||
|
"support": {
|
||||||
|
"issues": "https://github.com/PHPCompatibility/PHPCompatibility/issues",
|
||||||
|
"source": "https://github.com/PHPCompatibility/PHPCompatibility"
|
||||||
|
},
|
||||||
"time": "2019-12-27T09:44:58+00:00"
|
"time": "2019-12-27T09:44:58+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -2156,6 +2315,10 @@
|
||||||
"standards",
|
"standards",
|
||||||
"static analysis"
|
"static analysis"
|
||||||
],
|
],
|
||||||
|
"support": {
|
||||||
|
"issues": "https://github.com/PHPCompatibility/PHPCompatibilityParagonie/issues",
|
||||||
|
"source": "https://github.com/PHPCompatibility/PHPCompatibilityParagonie"
|
||||||
|
},
|
||||||
"time": "2022-10-25T01:46:02+00:00"
|
"time": "2022-10-25T01:46:02+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -2207,6 +2370,10 @@
|
||||||
"static analysis",
|
"static analysis",
|
||||||
"wordpress"
|
"wordpress"
|
||||||
],
|
],
|
||||||
|
"support": {
|
||||||
|
"issues": "https://github.com/PHPCompatibility/PHPCompatibilityWP/issues",
|
||||||
|
"source": "https://github.com/PHPCompatibility/PHPCompatibilityWP"
|
||||||
|
},
|
||||||
"time": "2022-10-24T09:00:36+00:00"
|
"time": "2022-10-24T09:00:36+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -2256,6 +2423,10 @@
|
||||||
"reflection",
|
"reflection",
|
||||||
"static analysis"
|
"static analysis"
|
||||||
],
|
],
|
||||||
|
"support": {
|
||||||
|
"issues": "https://github.com/phpDocumentor/ReflectionCommon/issues",
|
||||||
|
"source": "https://github.com/phpDocumentor/ReflectionCommon/tree/2.x"
|
||||||
|
},
|
||||||
"time": "2020-06-27T09:03:43+00:00"
|
"time": "2020-06-27T09:03:43+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -2309,6 +2480,10 @@
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.",
|
"description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.",
|
||||||
|
"support": {
|
||||||
|
"issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues",
|
||||||
|
"source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/5.3.0"
|
||||||
|
},
|
||||||
"time": "2021-10-19T17:43:47+00:00"
|
"time": "2021-10-19T17:43:47+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -2355,6 +2530,10 @@
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"description": "A PSR-5 based resolver of Class names, Types and Structural Element Names",
|
"description": "A PSR-5 based resolver of Class names, Types and Structural Element Names",
|
||||||
|
"support": {
|
||||||
|
"issues": "https://github.com/phpDocumentor/TypeResolver/issues",
|
||||||
|
"source": "https://github.com/phpDocumentor/TypeResolver/tree/1.6.1"
|
||||||
|
},
|
||||||
"time": "2022-03-15T21:29:03+00:00"
|
"time": "2022-03-15T21:29:03+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -2416,6 +2595,10 @@
|
||||||
"php",
|
"php",
|
||||||
"type"
|
"type"
|
||||||
],
|
],
|
||||||
|
"support": {
|
||||||
|
"issues": "https://github.com/schmittjoh/php-option/issues",
|
||||||
|
"source": "https://github.com/schmittjoh/php-option/tree/1.9.0"
|
||||||
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
"url": "https://github.com/GrahamCampbell",
|
"url": "https://github.com/GrahamCampbell",
|
||||||
|
@ -2489,6 +2672,10 @@
|
||||||
"testing",
|
"testing",
|
||||||
"xunit"
|
"xunit"
|
||||||
],
|
],
|
||||||
|
"support": {
|
||||||
|
"issues": "https://github.com/sebastianbergmann/php-code-coverage/issues",
|
||||||
|
"source": "https://github.com/sebastianbergmann/php-code-coverage/tree/7.0.15"
|
||||||
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
"url": "https://github.com/sebastianbergmann",
|
"url": "https://github.com/sebastianbergmann",
|
||||||
|
@ -2545,6 +2732,10 @@
|
||||||
"filesystem",
|
"filesystem",
|
||||||
"iterator"
|
"iterator"
|
||||||
],
|
],
|
||||||
|
"support": {
|
||||||
|
"issues": "https://github.com/sebastianbergmann/php-file-iterator/issues",
|
||||||
|
"source": "https://github.com/sebastianbergmann/php-file-iterator/tree/2.0.5"
|
||||||
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
"url": "https://github.com/sebastianbergmann",
|
"url": "https://github.com/sebastianbergmann",
|
||||||
|
@ -2592,6 +2783,10 @@
|
||||||
"keywords": [
|
"keywords": [
|
||||||
"template"
|
"template"
|
||||||
],
|
],
|
||||||
|
"support": {
|
||||||
|
"issues": "https://github.com/sebastianbergmann/php-text-template/issues",
|
||||||
|
"source": "https://github.com/sebastianbergmann/php-text-template/tree/1.2.1"
|
||||||
|
},
|
||||||
"time": "2015-06-21T13:50:34+00:00"
|
"time": "2015-06-21T13:50:34+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -2641,6 +2836,16 @@
|
||||||
"keywords": [
|
"keywords": [
|
||||||
"timer"
|
"timer"
|
||||||
],
|
],
|
||||||
|
"support": {
|
||||||
|
"issues": "https://github.com/sebastianbergmann/php-timer/issues",
|
||||||
|
"source": "https://github.com/sebastianbergmann/php-timer/tree/2.1.3"
|
||||||
|
},
|
||||||
|
"funding": [
|
||||||
|
{
|
||||||
|
"url": "https://github.com/sebastianbergmann",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
],
|
||||||
"time": "2020-11-30T08:20:02+00:00"
|
"time": "2020-11-30T08:20:02+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -2690,6 +2895,16 @@
|
||||||
"keywords": [
|
"keywords": [
|
||||||
"tokenizer"
|
"tokenizer"
|
||||||
],
|
],
|
||||||
|
"support": {
|
||||||
|
"issues": "https://github.com/sebastianbergmann/php-token-stream/issues",
|
||||||
|
"source": "https://github.com/sebastianbergmann/php-token-stream/tree/3.1.3"
|
||||||
|
},
|
||||||
|
"funding": [
|
||||||
|
{
|
||||||
|
"url": "https://github.com/sebastianbergmann",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
],
|
||||||
"abandoned": true,
|
"abandoned": true,
|
||||||
"time": "2021-07-26T12:15:06+00:00"
|
"time": "2021-07-26T12:15:06+00:00"
|
||||||
},
|
},
|
||||||
|
@ -2770,6 +2985,10 @@
|
||||||
"testing",
|
"testing",
|
||||||
"xunit"
|
"xunit"
|
||||||
],
|
],
|
||||||
|
"support": {
|
||||||
|
"issues": "https://github.com/sebastianbergmann/phpunit/issues",
|
||||||
|
"source": "https://github.com/sebastianbergmann/phpunit/tree/8.5.31"
|
||||||
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
"url": "https://phpunit.de/sponsors.html",
|
"url": "https://phpunit.de/sponsors.html",
|
||||||
|
@ -2829,6 +3048,16 @@
|
||||||
],
|
],
|
||||||
"description": "Looks up which function or method a line of code belongs to",
|
"description": "Looks up which function or method a line of code belongs to",
|
||||||
"homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/",
|
"homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/",
|
||||||
|
"support": {
|
||||||
|
"issues": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues",
|
||||||
|
"source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/1.0.2"
|
||||||
|
},
|
||||||
|
"funding": [
|
||||||
|
{
|
||||||
|
"url": "https://github.com/sebastianbergmann",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
],
|
||||||
"time": "2020-11-30T08:15:22+00:00"
|
"time": "2020-11-30T08:15:22+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -2893,6 +3122,10 @@
|
||||||
"compare",
|
"compare",
|
||||||
"equality"
|
"equality"
|
||||||
],
|
],
|
||||||
|
"support": {
|
||||||
|
"issues": "https://github.com/sebastianbergmann/comparator/issues",
|
||||||
|
"source": "https://github.com/sebastianbergmann/comparator/tree/3.0.5"
|
||||||
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
"url": "https://github.com/sebastianbergmann",
|
"url": "https://github.com/sebastianbergmann",
|
||||||
|
@ -2955,6 +3188,16 @@
|
||||||
"unidiff",
|
"unidiff",
|
||||||
"unified diff"
|
"unified diff"
|
||||||
],
|
],
|
||||||
|
"support": {
|
||||||
|
"issues": "https://github.com/sebastianbergmann/diff/issues",
|
||||||
|
"source": "https://github.com/sebastianbergmann/diff/tree/3.0.3"
|
||||||
|
},
|
||||||
|
"funding": [
|
||||||
|
{
|
||||||
|
"url": "https://github.com/sebastianbergmann",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
],
|
||||||
"time": "2020-11-30T07:59:04+00:00"
|
"time": "2020-11-30T07:59:04+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -3008,6 +3251,16 @@
|
||||||
"environment",
|
"environment",
|
||||||
"hhvm"
|
"hhvm"
|
||||||
],
|
],
|
||||||
|
"support": {
|
||||||
|
"issues": "https://github.com/sebastianbergmann/environment/issues",
|
||||||
|
"source": "https://github.com/sebastianbergmann/environment/tree/4.2.4"
|
||||||
|
},
|
||||||
|
"funding": [
|
||||||
|
{
|
||||||
|
"url": "https://github.com/sebastianbergmann",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
],
|
||||||
"time": "2020-11-30T07:53:42+00:00"
|
"time": "2020-11-30T07:53:42+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -3075,6 +3328,10 @@
|
||||||
"export",
|
"export",
|
||||||
"exporter"
|
"exporter"
|
||||||
],
|
],
|
||||||
|
"support": {
|
||||||
|
"issues": "https://github.com/sebastianbergmann/exporter/issues",
|
||||||
|
"source": "https://github.com/sebastianbergmann/exporter/tree/3.1.5"
|
||||||
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
"url": "https://github.com/sebastianbergmann",
|
"url": "https://github.com/sebastianbergmann",
|
||||||
|
@ -3135,6 +3392,10 @@
|
||||||
"keywords": [
|
"keywords": [
|
||||||
"global state"
|
"global state"
|
||||||
],
|
],
|
||||||
|
"support": {
|
||||||
|
"issues": "https://github.com/sebastianbergmann/global-state/issues",
|
||||||
|
"source": "https://github.com/sebastianbergmann/global-state/tree/3.0.2"
|
||||||
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
"url": "https://github.com/sebastianbergmann",
|
"url": "https://github.com/sebastianbergmann",
|
||||||
|
@ -3188,6 +3449,16 @@
|
||||||
],
|
],
|
||||||
"description": "Traverses array structures and object graphs to enumerate all referenced objects",
|
"description": "Traverses array structures and object graphs to enumerate all referenced objects",
|
||||||
"homepage": "https://github.com/sebastianbergmann/object-enumerator/",
|
"homepage": "https://github.com/sebastianbergmann/object-enumerator/",
|
||||||
|
"support": {
|
||||||
|
"issues": "https://github.com/sebastianbergmann/object-enumerator/issues",
|
||||||
|
"source": "https://github.com/sebastianbergmann/object-enumerator/tree/3.0.4"
|
||||||
|
},
|
||||||
|
"funding": [
|
||||||
|
{
|
||||||
|
"url": "https://github.com/sebastianbergmann",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
],
|
||||||
"time": "2020-11-30T07:40:27+00:00"
|
"time": "2020-11-30T07:40:27+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -3233,6 +3504,16 @@
|
||||||
],
|
],
|
||||||
"description": "Allows reflection of object attributes, including inherited and non-public ones",
|
"description": "Allows reflection of object attributes, including inherited and non-public ones",
|
||||||
"homepage": "https://github.com/sebastianbergmann/object-reflector/",
|
"homepage": "https://github.com/sebastianbergmann/object-reflector/",
|
||||||
|
"support": {
|
||||||
|
"issues": "https://github.com/sebastianbergmann/object-reflector/issues",
|
||||||
|
"source": "https://github.com/sebastianbergmann/object-reflector/tree/1.1.2"
|
||||||
|
},
|
||||||
|
"funding": [
|
||||||
|
{
|
||||||
|
"url": "https://github.com/sebastianbergmann",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
],
|
||||||
"time": "2020-11-30T07:37:18+00:00"
|
"time": "2020-11-30T07:37:18+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -3286,6 +3567,16 @@
|
||||||
],
|
],
|
||||||
"description": "Provides functionality to recursively process PHP variables",
|
"description": "Provides functionality to recursively process PHP variables",
|
||||||
"homepage": "http://www.github.com/sebastianbergmann/recursion-context",
|
"homepage": "http://www.github.com/sebastianbergmann/recursion-context",
|
||||||
|
"support": {
|
||||||
|
"issues": "https://github.com/sebastianbergmann/recursion-context/issues",
|
||||||
|
"source": "https://github.com/sebastianbergmann/recursion-context/tree/3.0.1"
|
||||||
|
},
|
||||||
|
"funding": [
|
||||||
|
{
|
||||||
|
"url": "https://github.com/sebastianbergmann",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
],
|
||||||
"time": "2020-11-30T07:34:24+00:00"
|
"time": "2020-11-30T07:34:24+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -3328,6 +3619,16 @@
|
||||||
],
|
],
|
||||||
"description": "Provides a list of PHP built-in functions that operate on resources",
|
"description": "Provides a list of PHP built-in functions that operate on resources",
|
||||||
"homepage": "https://www.github.com/sebastianbergmann/resource-operations",
|
"homepage": "https://www.github.com/sebastianbergmann/resource-operations",
|
||||||
|
"support": {
|
||||||
|
"issues": "https://github.com/sebastianbergmann/resource-operations/issues",
|
||||||
|
"source": "https://github.com/sebastianbergmann/resource-operations/tree/2.0.2"
|
||||||
|
},
|
||||||
|
"funding": [
|
||||||
|
{
|
||||||
|
"url": "https://github.com/sebastianbergmann",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
],
|
||||||
"time": "2020-11-30T07:30:19+00:00"
|
"time": "2020-11-30T07:30:19+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -3374,6 +3675,10 @@
|
||||||
],
|
],
|
||||||
"description": "Collection of value objects that represent the types of the PHP type system",
|
"description": "Collection of value objects that represent the types of the PHP type system",
|
||||||
"homepage": "https://github.com/sebastianbergmann/type",
|
"homepage": "https://github.com/sebastianbergmann/type",
|
||||||
|
"support": {
|
||||||
|
"issues": "https://github.com/sebastianbergmann/type/issues",
|
||||||
|
"source": "https://github.com/sebastianbergmann/type/tree/1.1.4"
|
||||||
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
"url": "https://github.com/sebastianbergmann",
|
"url": "https://github.com/sebastianbergmann",
|
||||||
|
@ -3423,6 +3728,10 @@
|
||||||
],
|
],
|
||||||
"description": "Library that helps with managing the version number of Git-hosted PHP projects",
|
"description": "Library that helps with managing the version number of Git-hosted PHP projects",
|
||||||
"homepage": "https://github.com/sebastianbergmann/version",
|
"homepage": "https://github.com/sebastianbergmann/version",
|
||||||
|
"support": {
|
||||||
|
"issues": "https://github.com/sebastianbergmann/version/issues",
|
||||||
|
"source": "https://github.com/sebastianbergmann/version/tree/master"
|
||||||
|
},
|
||||||
"time": "2016-10-03T07:35:21+00:00"
|
"time": "2016-10-03T07:35:21+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -3474,20 +3783,25 @@
|
||||||
"phpcs",
|
"phpcs",
|
||||||
"standards"
|
"standards"
|
||||||
],
|
],
|
||||||
|
"support": {
|
||||||
|
"issues": "https://github.com/squizlabs/PHP_CodeSniffer/issues",
|
||||||
|
"source": "https://github.com/squizlabs/PHP_CodeSniffer",
|
||||||
|
"wiki": "https://github.com/squizlabs/PHP_CodeSniffer/wiki"
|
||||||
|
},
|
||||||
"time": "2022-06-18T07:21:10+00:00"
|
"time": "2022-06-18T07:21:10+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/console",
|
"name": "symfony/console",
|
||||||
"version": "v5.4.15",
|
"version": "v5.4.16",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/console.git",
|
"url": "https://github.com/symfony/console.git",
|
||||||
"reference": "ea59bb0edfaf9f28d18d8791410ee0355f317669"
|
"reference": "8e9b9c8dfb33af6057c94e1b44846bee700dc5ef"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/console/zipball/ea59bb0edfaf9f28d18d8791410ee0355f317669",
|
"url": "https://api.github.com/repos/symfony/console/zipball/8e9b9c8dfb33af6057c94e1b44846bee700dc5ef",
|
||||||
"reference": "ea59bb0edfaf9f28d18d8791410ee0355f317669",
|
"reference": "8e9b9c8dfb33af6057c94e1b44846bee700dc5ef",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
|
@ -3556,6 +3870,9 @@
|
||||||
"console",
|
"console",
|
||||||
"terminal"
|
"terminal"
|
||||||
],
|
],
|
||||||
|
"support": {
|
||||||
|
"source": "https://github.com/symfony/console/tree/v5.4.16"
|
||||||
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
"url": "https://symfony.com/sponsor",
|
"url": "https://symfony.com/sponsor",
|
||||||
|
@ -3570,7 +3887,7 @@
|
||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2022-10-26T21:41:52+00:00"
|
"time": "2022-11-25T14:09:27+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/deprecation-contracts",
|
"name": "symfony/deprecation-contracts",
|
||||||
|
@ -3620,6 +3937,9 @@
|
||||||
],
|
],
|
||||||
"description": "A generic function and convention to trigger deprecation notices",
|
"description": "A generic function and convention to trigger deprecation notices",
|
||||||
"homepage": "https://symfony.com",
|
"homepage": "https://symfony.com",
|
||||||
|
"support": {
|
||||||
|
"source": "https://github.com/symfony/deprecation-contracts/tree/v2.5.2"
|
||||||
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
"url": "https://symfony.com/sponsor",
|
"url": "https://symfony.com/sponsor",
|
||||||
|
@ -3699,6 +4019,9 @@
|
||||||
"polyfill",
|
"polyfill",
|
||||||
"portable"
|
"portable"
|
||||||
],
|
],
|
||||||
|
"support": {
|
||||||
|
"source": "https://github.com/symfony/polyfill-ctype/tree/v1.27.0"
|
||||||
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
"url": "https://symfony.com/sponsor",
|
"url": "https://symfony.com/sponsor",
|
||||||
|
@ -3777,6 +4100,9 @@
|
||||||
"portable",
|
"portable",
|
||||||
"shim"
|
"shim"
|
||||||
],
|
],
|
||||||
|
"support": {
|
||||||
|
"source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.27.0"
|
||||||
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
"url": "https://symfony.com/sponsor",
|
"url": "https://symfony.com/sponsor",
|
||||||
|
@ -3858,6 +4184,9 @@
|
||||||
"portable",
|
"portable",
|
||||||
"shim"
|
"shim"
|
||||||
],
|
],
|
||||||
|
"support": {
|
||||||
|
"source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.27.0"
|
||||||
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
"url": "https://symfony.com/sponsor",
|
"url": "https://symfony.com/sponsor",
|
||||||
|
@ -3938,6 +4267,9 @@
|
||||||
"portable",
|
"portable",
|
||||||
"shim"
|
"shim"
|
||||||
],
|
],
|
||||||
|
"support": {
|
||||||
|
"source": "https://github.com/symfony/polyfill-mbstring/tree/v1.27.0"
|
||||||
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
"url": "https://symfony.com/sponsor",
|
"url": "https://symfony.com/sponsor",
|
||||||
|
@ -4014,6 +4346,9 @@
|
||||||
"portable",
|
"portable",
|
||||||
"shim"
|
"shim"
|
||||||
],
|
],
|
||||||
|
"support": {
|
||||||
|
"source": "https://github.com/symfony/polyfill-php73/tree/v1.27.0"
|
||||||
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
"url": "https://symfony.com/sponsor",
|
"url": "https://symfony.com/sponsor",
|
||||||
|
@ -4094,6 +4429,9 @@
|
||||||
"interoperability",
|
"interoperability",
|
||||||
"standards"
|
"standards"
|
||||||
],
|
],
|
||||||
|
"support": {
|
||||||
|
"source": "https://github.com/symfony/service-contracts/tree/v2.5.2"
|
||||||
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
"url": "https://symfony.com/sponsor",
|
"url": "https://symfony.com/sponsor",
|
||||||
|
@ -4177,6 +4515,9 @@
|
||||||
"utf-8",
|
"utf-8",
|
||||||
"utf8"
|
"utf8"
|
||||||
],
|
],
|
||||||
|
"support": {
|
||||||
|
"source": "https://github.com/symfony/string/tree/v5.4.15"
|
||||||
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
"url": "https://symfony.com/sponsor",
|
"url": "https://symfony.com/sponsor",
|
||||||
|
@ -4231,6 +4572,10 @@
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"description": "A small library for converting tokenized PHP source code into XML and potentially other formats",
|
"description": "A small library for converting tokenized PHP source code into XML and potentially other formats",
|
||||||
|
"support": {
|
||||||
|
"issues": "https://github.com/theseer/tokenizer/issues",
|
||||||
|
"source": "https://github.com/theseer/tokenizer/tree/1.2.1"
|
||||||
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
"url": "https://github.com/theseer",
|
"url": "https://github.com/theseer",
|
||||||
|
@ -4341,6 +4686,10 @@
|
||||||
"inspection",
|
"inspection",
|
||||||
"php"
|
"php"
|
||||||
],
|
],
|
||||||
|
"support": {
|
||||||
|
"issues": "https://github.com/vimeo/psalm/issues",
|
||||||
|
"source": "https://github.com/vimeo/psalm/tree/4.30.0"
|
||||||
|
},
|
||||||
"time": "2022-11-06T20:37:08+00:00"
|
"time": "2022-11-06T20:37:08+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -4411,6 +4760,10 @@
|
||||||
"env",
|
"env",
|
||||||
"environment"
|
"environment"
|
||||||
],
|
],
|
||||||
|
"support": {
|
||||||
|
"issues": "https://github.com/vlucas/phpdotenv/issues",
|
||||||
|
"source": "https://github.com/vlucas/phpdotenv/tree/v5.5.0"
|
||||||
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
"url": "https://github.com/GrahamCampbell",
|
"url": "https://github.com/GrahamCampbell",
|
||||||
|
@ -4475,6 +4828,10 @@
|
||||||
"check",
|
"check",
|
||||||
"validate"
|
"validate"
|
||||||
],
|
],
|
||||||
|
"support": {
|
||||||
|
"issues": "https://github.com/webmozarts/assert/issues",
|
||||||
|
"source": "https://github.com/webmozarts/assert/tree/1.11.0"
|
||||||
|
},
|
||||||
"time": "2022-06-03T18:03:27+00:00"
|
"time": "2022-06-03T18:03:27+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -4521,6 +4878,10 @@
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"description": "A robust cross-platform utility for normalizing, comparing and modifying file paths.",
|
"description": "A robust cross-platform utility for normalizing, comparing and modifying file paths.",
|
||||||
|
"support": {
|
||||||
|
"issues": "https://github.com/webmozart/path-util/issues",
|
||||||
|
"source": "https://github.com/webmozart/path-util/tree/2.3.0"
|
||||||
|
},
|
||||||
"abandoned": "symfony/filesystem",
|
"abandoned": "symfony/filesystem",
|
||||||
"time": "2015-12-17T08:42:14+00:00"
|
"time": "2015-12-17T08:42:14+00:00"
|
||||||
},
|
},
|
||||||
|
@ -4562,6 +4923,10 @@
|
||||||
"woocommerce",
|
"woocommerce",
|
||||||
"wordpress"
|
"wordpress"
|
||||||
],
|
],
|
||||||
|
"support": {
|
||||||
|
"issues": "https://github.com/woocommerce/woocommerce-sniffs/issues",
|
||||||
|
"source": "https://github.com/woocommerce/woocommerce-sniffs/tree/0.1.3"
|
||||||
|
},
|
||||||
"time": "2022-02-17T15:34:51+00:00"
|
"time": "2022-02-17T15:34:51+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -4608,6 +4973,11 @@
|
||||||
"standards",
|
"standards",
|
||||||
"wordpress"
|
"wordpress"
|
||||||
],
|
],
|
||||||
|
"support": {
|
||||||
|
"issues": "https://github.com/WordPress/WordPress-Coding-Standards/issues",
|
||||||
|
"source": "https://github.com/WordPress/WordPress-Coding-Standards",
|
||||||
|
"wiki": "https://github.com/WordPress/WordPress-Coding-Standards/wiki"
|
||||||
|
},
|
||||||
"time": "2020-05-13T23:57:56+00:00"
|
"time": "2020-05-13T23:57:56+00:00"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
@ -4620,9 +4990,9 @@
|
||||||
"prefer-stable": true,
|
"prefer-stable": true,
|
||||||
"prefer-lowest": false,
|
"prefer-lowest": false,
|
||||||
"platform": {
|
"platform": {
|
||||||
"php": "^7.2 | ^8.0, ^7.2 | ^8.0, ^7.2 | ^8.0, ^7.2 | ^8.0, ^7.2 | ^8.0, ^7.2 | ^8.0, ^7.2 | ^8.0, ^7.2 | ^8.0, ^7.2 | ^8.0, ^7.2 | ^8.0, ^7.2 | ^8.0, ^7.2 | ^8.0, ^7.2 | ^8.0, ^7.2 | ^8.0",
|
"php": "^7.2 | ^8.0",
|
||||||
"ext-json": "*"
|
"ext-json": "*"
|
||||||
},
|
},
|
||||||
"platform-dev": [],
|
"platform-dev": [],
|
||||||
"plugin-api-version": "1.1.0"
|
"plugin-api-version": "2.3.0"
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,6 +25,7 @@ return function ( string $root_dir ): iterable {
|
||||||
( require "$modules_dir/ppcp-webhooks/module.php" )(),
|
( require "$modules_dir/ppcp-webhooks/module.php" )(),
|
||||||
( require "$modules_dir/ppcp-vaulting/module.php" )(),
|
( require "$modules_dir/ppcp-vaulting/module.php" )(),
|
||||||
( require "$modules_dir/ppcp-order-tracking/module.php" )(),
|
( require "$modules_dir/ppcp-order-tracking/module.php" )(),
|
||||||
|
( require "$modules_dir/ppcp-uninstall/module.php" )(),
|
||||||
);
|
);
|
||||||
|
|
||||||
return $modules;
|
return $modules;
|
||||||
|
|
11
modules/ppcp-uninstall/.babelrc
Normal file
11
modules/ppcp-uninstall/.babelrc
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
"presets": [
|
||||||
|
[
|
||||||
|
"@babel/preset-env",
|
||||||
|
{
|
||||||
|
"useBuiltIns": "usage",
|
||||||
|
"corejs": "3.25.0"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
]
|
||||||
|
}
|
2
modules/ppcp-uninstall/.gitignore
vendored
Normal file
2
modules/ppcp-uninstall/.gitignore
vendored
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
node_modules
|
||||||
|
/assets
|
17
modules/ppcp-uninstall/composer.json
Normal file
17
modules/ppcp-uninstall/composer.json
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
{
|
||||||
|
"name": "woocommerce/ppcp-uninstall",
|
||||||
|
"type": "dhii-mod",
|
||||||
|
"description": "Uninstall module for PPCP",
|
||||||
|
"license": "GPL-2.0",
|
||||||
|
"require": {
|
||||||
|
"php": "^7.2 | ^8.0",
|
||||||
|
"dhii/module-interface": "^0.3.0-alpha1"
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"WooCommerce\\PayPalCommerce\\Uninstall\\": "src"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"minimum-stability": "dev",
|
||||||
|
"prefer-stable": true
|
||||||
|
}
|
56
modules/ppcp-uninstall/extensions.php
Normal file
56
modules/ppcp-uninstall/extensions.php
Normal file
|
@ -0,0 +1,56 @@
|
||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* The uninstall module extensions.
|
||||||
|
*
|
||||||
|
* @package WooCommerce\PayPalCommerce\Uninstall
|
||||||
|
*/
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
namespace WooCommerce\PayPalCommerce\Uninstall;
|
||||||
|
|
||||||
|
use WooCommerce\PayPalCommerce\Onboarding\State;
|
||||||
|
use WooCommerce\PayPalCommerce\Vendor\Psr\Container\ContainerInterface;
|
||||||
|
use WooCommerce\PayPalCommerce\WcGateway\Settings\Settings;
|
||||||
|
|
||||||
|
return array(
|
||||||
|
'wcgateway.settings.fields' => static function ( ContainerInterface $container, array $fields ): array {
|
||||||
|
$uninstall_fields = array(
|
||||||
|
'uninstall_heading' => array(
|
||||||
|
'heading' => __( 'Uninstall/Clear Database', 'woocommerce-paypal-payments' ),
|
||||||
|
'type' => 'ppcp-heading',
|
||||||
|
'screens' => array(
|
||||||
|
State::STATE_ONBOARDED,
|
||||||
|
),
|
||||||
|
'requirements' => array(),
|
||||||
|
'gateway' => Settings::CONNECTION_TAB_ID,
|
||||||
|
'description' => __( 'Manage plugin data and scheduled actions stored in database.', 'woocommerce-paypal-payments' ),
|
||||||
|
),
|
||||||
|
'uninstall_clear_db_on_uninstall' => array(
|
||||||
|
'title' => __( 'Remove PayPal Payments data from Database on uninstall', 'woocommerce-paypal-payments' ),
|
||||||
|
'type' => 'checkbox',
|
||||||
|
'label' => __( 'Remove options and scheduled actions from database when uninstalling the plugin.', 'woocommerce-paypal-payments' ),
|
||||||
|
'default' => false,
|
||||||
|
'screens' => array(
|
||||||
|
State::STATE_START,
|
||||||
|
State::STATE_ONBOARDED,
|
||||||
|
),
|
||||||
|
'requirements' => array(),
|
||||||
|
'gateway' => Settings::CONNECTION_TAB_ID,
|
||||||
|
),
|
||||||
|
'uninstall_clear_db_now' => array(
|
||||||
|
'title' => __( 'Remove PayPal Payments data from Database.', 'woocommerce-paypal-payments' ),
|
||||||
|
'type' => 'ppcp-text',
|
||||||
|
'text' => '<button type="button" class="button ppcp-clear_db_now">' . esc_html__( 'Clear now', 'woocommerce-paypal-payments' ) . '</button>',
|
||||||
|
'screens' => array(
|
||||||
|
State::STATE_ONBOARDED,
|
||||||
|
),
|
||||||
|
'requirements' => array(),
|
||||||
|
'gateway' => Settings::CONNECTION_TAB_ID,
|
||||||
|
'description' => __( 'Click to remove options and scheduled actions from database now.', 'woocommerce-paypal-payments' ),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
|
||||||
|
return array_merge( $fields, $uninstall_fields );
|
||||||
|
},
|
||||||
|
);
|
16
modules/ppcp-uninstall/module.php
Normal file
16
modules/ppcp-uninstall/module.php
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* The uninstall module.
|
||||||
|
*
|
||||||
|
* @package WooCommerce\PayPalCommerce\Uninstall
|
||||||
|
*/
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
namespace WooCommerce\PayPalCommerce\Uninstall;
|
||||||
|
|
||||||
|
use WooCommerce\PayPalCommerce\Vendor\Dhii\Modular\Module\ModuleInterface;
|
||||||
|
|
||||||
|
return function (): ModuleInterface {
|
||||||
|
return new UninstallModule();
|
||||||
|
};
|
32
modules/ppcp-uninstall/package.json
Normal file
32
modules/ppcp-uninstall/package.json
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
{
|
||||||
|
"name": "ppcp-uninstall",
|
||||||
|
"version": "1.0.0",
|
||||||
|
"license": "GPL-3.0-or-later",
|
||||||
|
"main": "resources/js/ppcp-clear-db.js",
|
||||||
|
"browserslist": [
|
||||||
|
"> 0.5%",
|
||||||
|
"Safari >= 8",
|
||||||
|
"Chrome >= 41",
|
||||||
|
"Firefox >= 43",
|
||||||
|
"Edge >= 14"
|
||||||
|
],
|
||||||
|
"dependencies": {
|
||||||
|
"core-js": "^3.25.0"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"@babel/core": "^7.19",
|
||||||
|
"@babel/preset-env": "^7.19",
|
||||||
|
"babel-loader": "^8.2",
|
||||||
|
"cross-env": "^7.0.3",
|
||||||
|
"file-loader": "^6.2.0",
|
||||||
|
"sass": "^1.42.1",
|
||||||
|
"sass-loader": "^12.1.0",
|
||||||
|
"webpack": "^5.74",
|
||||||
|
"webpack-cli": "^4.10"
|
||||||
|
},
|
||||||
|
"scripts": {
|
||||||
|
"build": "cross-env BABEL_ENV=default NODE_ENV=production webpack",
|
||||||
|
"watch": "cross-env BABEL_ENV=default NODE_ENV=production webpack --watch",
|
||||||
|
"dev": "cross-env BABEL_ENV=default webpack --watch"
|
||||||
|
}
|
||||||
|
}
|
43
modules/ppcp-uninstall/resources/js/ppcp-clear-db.js
Normal file
43
modules/ppcp-uninstall/resources/js/ppcp-clear-db.js
Normal file
|
@ -0,0 +1,43 @@
|
||||||
|
document.addEventListener(
|
||||||
|
'DOMContentLoaded',
|
||||||
|
() => {
|
||||||
|
const config = PayPalCommerceGatewayClearDb;
|
||||||
|
if (!typeof (config)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
const clearDbConfig = config.clearDb;
|
||||||
|
|
||||||
|
document.querySelector(clearDbConfig.button)?.addEventListener('click', function () {
|
||||||
|
const isConfirmed = confirm(clearDbConfig.confirmationMessage);
|
||||||
|
if (!isConfirmed) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
const clearButton = document.querySelector(clearDbConfig.button);
|
||||||
|
|
||||||
|
clearButton.setAttribute('disabled', 'disabled');
|
||||||
|
fetch(clearDbConfig.endpoint, {
|
||||||
|
method: 'POST',
|
||||||
|
credentials: 'same-origin',
|
||||||
|
body: JSON.stringify({
|
||||||
|
nonce: clearDbConfig.nonce,
|
||||||
|
})
|
||||||
|
}).then((res)=>{
|
||||||
|
return res.json();
|
||||||
|
}).then((data)=>{
|
||||||
|
if (!data.success) {
|
||||||
|
jQuery(clearDbConfig.failureMessage).insertAfter(clearButton);
|
||||||
|
setTimeout(()=> jQuery(clearDbConfig.messageSelector).remove(),3000);
|
||||||
|
clearButton.removeAttribute('disabled');
|
||||||
|
throw Error(data.data.message);
|
||||||
|
}
|
||||||
|
|
||||||
|
jQuery(clearDbConfig.successMessage).insertAfter(clearButton);
|
||||||
|
setTimeout(()=> jQuery(clearDbConfig.messageSelector).remove(),3000);
|
||||||
|
clearButton.removeAttribute('disabled');
|
||||||
|
window.location.replace(clearDbConfig.redirectUrl);
|
||||||
|
});
|
||||||
|
})
|
||||||
|
},
|
||||||
|
);
|
96
modules/ppcp-uninstall/services.php
Normal file
96
modules/ppcp-uninstall/services.php
Normal file
|
@ -0,0 +1,96 @@
|
||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* The uninstall module services.
|
||||||
|
*
|
||||||
|
* @package WooCommerce\PayPalCommerce\Uninstall
|
||||||
|
*/
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
namespace WooCommerce\PayPalCommerce\Uninstall;
|
||||||
|
|
||||||
|
use WooCommerce\PayPalCommerce\ApiClient\Repository\PayPalRequestIdRepository;
|
||||||
|
use WooCommerce\PayPalCommerce\Uninstall\Assets\ClearDatabaseAssets;
|
||||||
|
use WooCommerce\PayPalCommerce\Vendor\Psr\Container\ContainerInterface;
|
||||||
|
use WooCommerce\PayPalCommerce\WcGateway\Gateway\CardButtonGateway;
|
||||||
|
use WooCommerce\PayPalCommerce\WcGateway\Gateway\CreditCardGateway;
|
||||||
|
use WooCommerce\PayPalCommerce\WcGateway\Gateway\PayPalGateway;
|
||||||
|
use WooCommerce\PayPalCommerce\WcGateway\Gateway\PayUponInvoice\PayUponInvoiceGateway;
|
||||||
|
use WooCommerce\PayPalCommerce\WcGateway\Settings\Settings;
|
||||||
|
use WooCommerce\PayPalCommerce\Webhooks\Status\WebhookSimulation;
|
||||||
|
use WooCommerce\PayPalCommerce\Webhooks\WebhookRegistrar;
|
||||||
|
|
||||||
|
return array(
|
||||||
|
'uninstall.ppcp-all-option-names' => function( ContainerInterface $container ) : array {
|
||||||
|
return array(
|
||||||
|
$container->get( 'webhook.last-webhook-storage.key' ),
|
||||||
|
PayPalRequestIdRepository::KEY,
|
||||||
|
'woocommerce_ppcp-is_pay_later_settings_migrated',
|
||||||
|
'woocommerce_' . PayPalGateway::ID . '_settings',
|
||||||
|
'woocommerce_' . CreditCardGateway::ID . '_settings',
|
||||||
|
'woocommerce_' . PayUponInvoiceGateway::ID . '_settings',
|
||||||
|
'woocommerce_' . CardButtonGateway::ID . '_settings',
|
||||||
|
Settings::KEY,
|
||||||
|
'woocommerce-ppcp-version',
|
||||||
|
WebhookSimulation::OPTION_ID,
|
||||||
|
WebhookRegistrar::KEY,
|
||||||
|
);
|
||||||
|
},
|
||||||
|
|
||||||
|
'uninstall.ppcp-all-scheduled-action-names' => function( ContainerInterface $container ) : array {
|
||||||
|
return array(
|
||||||
|
'woocommerce_paypal_payments_check_pui_payment_captured',
|
||||||
|
'woocommerce_paypal_payments_check_saved_payment',
|
||||||
|
);
|
||||||
|
},
|
||||||
|
|
||||||
|
'uninstall.clear-db-endpoint' => function( ContainerInterface $container ) : string {
|
||||||
|
return 'ppcp-clear-db';
|
||||||
|
},
|
||||||
|
|
||||||
|
'uninstall.clear-database-script-data' => function( ContainerInterface $container ) : array {
|
||||||
|
return array(
|
||||||
|
'clearDb' => array(
|
||||||
|
'endpoint' => \WC_AJAX::get_endpoint( $container->get( 'uninstall.clear-db-endpoint' ) ),
|
||||||
|
'nonce' => wp_create_nonce( $container->get( 'uninstall.clear-db-endpoint' ) ),
|
||||||
|
'button' => '.ppcp-clear_db_now',
|
||||||
|
'messageSelector' => '.clear-db-info-message',
|
||||||
|
'confirmationMessage' => __( 'Are you sure? the operation will remove all plugin data.', 'woocommerce-paypal-payments' ),
|
||||||
|
'successMessage' => sprintf(
|
||||||
|
'<div class="updated clear-db-info-message"><p><strong>%1$s</strong></p></div>',
|
||||||
|
esc_html__( 'The plugin data is successfully cleared.', 'woocommerce-paypal-payments' )
|
||||||
|
),
|
||||||
|
'failureMessage' => sprintf(
|
||||||
|
'<div class="error clear-db-info-message"><p><strong>%1$s</strong></p></div>',
|
||||||
|
esc_html__( 'Operation failed. Check WooCommerce logs for more details.', 'woocommerce-paypal-payments' )
|
||||||
|
),
|
||||||
|
'redirectUrl' => admin_url( 'admin.php?page=wc-settings&tab=checkout§ion=ppcp-gateway' ),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
},
|
||||||
|
|
||||||
|
'uninstall.module-url' => static function ( ContainerInterface $container ): string {
|
||||||
|
/**
|
||||||
|
* The path cannot be false.
|
||||||
|
*
|
||||||
|
* @psalm-suppress PossiblyFalseArgument
|
||||||
|
*/
|
||||||
|
return plugins_url(
|
||||||
|
'/modules/ppcp-uninstall/',
|
||||||
|
dirname( realpath( __FILE__ ), 3 ) . '/woocommerce-paypal-payments.php'
|
||||||
|
);
|
||||||
|
},
|
||||||
|
|
||||||
|
'uninstall.clear-db-assets' => function( ContainerInterface $container ) : ClearDatabaseAssets {
|
||||||
|
return new ClearDatabaseAssets(
|
||||||
|
$container->get( 'uninstall.module-url' ),
|
||||||
|
$container->get( 'ppcp.asset-version' ),
|
||||||
|
'ppcp-clear-db',
|
||||||
|
$container->get( 'uninstall.clear-database-script-data' )
|
||||||
|
);
|
||||||
|
},
|
||||||
|
|
||||||
|
'uninstall.clear-db' => function( ContainerInterface $container ) : ClearDatabaseInterface {
|
||||||
|
return new ClearDatabase();
|
||||||
|
},
|
||||||
|
);
|
96
modules/ppcp-uninstall/src/Assets/ClearDatabaseAssets.php
Normal file
96
modules/ppcp-uninstall/src/Assets/ClearDatabaseAssets.php
Normal file
|
@ -0,0 +1,96 @@
|
||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* Register and configure assets for uninstall module.
|
||||||
|
*
|
||||||
|
* @package WooCommerce\PayPalCommerce\Uninstall\Assets
|
||||||
|
*/
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
namespace WooCommerce\PayPalCommerce\Uninstall\Assets;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Class ClearDatabaseAssets
|
||||||
|
*/
|
||||||
|
class ClearDatabaseAssets {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The URL to the module.
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
private $module_url;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The assets version.
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
private $version;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The script name.
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
protected $script_name;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A map of script data.
|
||||||
|
*
|
||||||
|
* @var array
|
||||||
|
*/
|
||||||
|
protected $script_data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ClearDatabaseAssets constructor.
|
||||||
|
*
|
||||||
|
* @param string $module_url The URL to the module.
|
||||||
|
* @param string $version The assets version.
|
||||||
|
* @param string $script_name The script name.
|
||||||
|
* @param array $script_data A map of script data.
|
||||||
|
*/
|
||||||
|
public function __construct(
|
||||||
|
string $module_url,
|
||||||
|
string $version,
|
||||||
|
string $script_name,
|
||||||
|
array $script_data
|
||||||
|
) {
|
||||||
|
$this->module_url = $module_url;
|
||||||
|
$this->version = $version;
|
||||||
|
$this->script_data = $script_data;
|
||||||
|
$this->script_name = $script_name;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Registers the scripts and styles.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function register(): void {
|
||||||
|
$module_url = untrailingslashit( $this->module_url );
|
||||||
|
|
||||||
|
wp_register_script(
|
||||||
|
$this->script_name,
|
||||||
|
"{$module_url}/assets/js/{$this->script_name}.js",
|
||||||
|
array( 'jquery' ),
|
||||||
|
$this->version,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
|
||||||
|
wp_localize_script(
|
||||||
|
$this->script_name,
|
||||||
|
'PayPalCommerceGatewayClearDb',
|
||||||
|
$this->script_data
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Enqueues the necessary scripts.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function enqueue(): void {
|
||||||
|
wp_enqueue_script( $this->script_name );
|
||||||
|
}
|
||||||
|
}
|
34
modules/ppcp-uninstall/src/ClearDatabase.php
Normal file
34
modules/ppcp-uninstall/src/ClearDatabase.php
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* Clears the plugin related data from DB.
|
||||||
|
*
|
||||||
|
* @package WooCommerce\PayPalCommerce\Uninstall
|
||||||
|
*/
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
namespace WooCommerce\PayPalCommerce\Uninstall;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Class ClearDatabase
|
||||||
|
*/
|
||||||
|
class ClearDatabase implements ClearDatabaseInterface {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritDoc}
|
||||||
|
*/
|
||||||
|
public function delete_options( array $option_names ):void {
|
||||||
|
foreach ( $option_names as $option_name ) {
|
||||||
|
delete_option( $option_name );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritDoc}
|
||||||
|
*/
|
||||||
|
public function clear_scheduled_actions( array $action_names ):void {
|
||||||
|
foreach ( $action_names as $action_name ) {
|
||||||
|
as_unschedule_action( $action_name );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
32
modules/ppcp-uninstall/src/ClearDatabaseInterface.php
Normal file
32
modules/ppcp-uninstall/src/ClearDatabaseInterface.php
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* Can delete the options and clear scheduled actions from database.
|
||||||
|
*
|
||||||
|
* @package WooCommerce\PayPalCommerce\Uninstall
|
||||||
|
*/
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
namespace WooCommerce\PayPalCommerce\Uninstall;
|
||||||
|
|
||||||
|
use RuntimeException;
|
||||||
|
|
||||||
|
interface ClearDatabaseInterface {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Deletes the given options from database.
|
||||||
|
*
|
||||||
|
* @param string[] $option_names The list of option names.
|
||||||
|
* @throws RuntimeException If problem deleting.
|
||||||
|
*/
|
||||||
|
public function delete_options( array $option_names ): void;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Clears the given scheduled actions.
|
||||||
|
*
|
||||||
|
* @param string[] $action_names The list of scheduled action names.
|
||||||
|
* @throws RuntimeException If problem clearing.
|
||||||
|
*/
|
||||||
|
public function clear_scheduled_actions( array $action_names ): void;
|
||||||
|
|
||||||
|
}
|
98
modules/ppcp-uninstall/src/UninstallModule.php
Normal file
98
modules/ppcp-uninstall/src/UninstallModule.php
Normal file
|
@ -0,0 +1,98 @@
|
||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* The uninstall module.
|
||||||
|
*
|
||||||
|
* @package WooCommerce\PayPalCommerce\Uninstall
|
||||||
|
*/
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
namespace WooCommerce\PayPalCommerce\Uninstall;
|
||||||
|
|
||||||
|
use Exception;
|
||||||
|
use WooCommerce\PayPalCommerce\Button\Endpoint\RequestData;
|
||||||
|
use WooCommerce\PayPalCommerce\Uninstall\Assets\ClearDatabaseAssets;
|
||||||
|
use WooCommerce\PayPalCommerce\Vendor\Dhii\Container\ServiceProvider;
|
||||||
|
use WooCommerce\PayPalCommerce\Vendor\Dhii\Modular\Module\ModuleInterface;
|
||||||
|
use WooCommerce\PayPalCommerce\Vendor\Interop\Container\ServiceProviderInterface;
|
||||||
|
use WooCommerce\PayPalCommerce\Vendor\Psr\Container\ContainerInterface;
|
||||||
|
use WooCommerce\PayPalCommerce\WcGateway\Settings\Settings;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Class UninstallModule
|
||||||
|
*/
|
||||||
|
class UninstallModule implements ModuleInterface {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritDoc}
|
||||||
|
*/
|
||||||
|
public function setup(): ServiceProviderInterface {
|
||||||
|
return new ServiceProvider(
|
||||||
|
require __DIR__ . '/../services.php',
|
||||||
|
require __DIR__ . '/../extensions.php'
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritDoc}
|
||||||
|
*/
|
||||||
|
public function run( ContainerInterface $container ): void {
|
||||||
|
$page_id = $container->get( 'wcgateway.current-ppcp-settings-page-id' );
|
||||||
|
if ( Settings::CONNECTION_TAB_ID === $page_id ) {
|
||||||
|
$this->registerClearDatabaseAssets( $container->get( 'uninstall.clear-db-assets' ) );
|
||||||
|
}
|
||||||
|
|
||||||
|
$request_data = $container->get( 'button.request-data' );
|
||||||
|
$clear_db = $container->get( 'uninstall.clear-db' );
|
||||||
|
$clear_db_endpoint = $container->get( 'uninstall.clear-db-endpoint' );
|
||||||
|
$option_names = $container->get( 'uninstall.ppcp-all-option-names' );
|
||||||
|
$scheduled_action_names = $container->get( 'uninstall.ppcp-all-scheduled-action-names' );
|
||||||
|
|
||||||
|
$this->handleClearDbAjaxRequest( $request_data, $clear_db, $clear_db_endpoint, $option_names, $scheduled_action_names );
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Registers the assets for clear database functionality.
|
||||||
|
*
|
||||||
|
* @param ClearDatabaseAssets $asset_loader The clear database functionality asset loader.
|
||||||
|
*/
|
||||||
|
protected function registerClearDatabaseAssets( ClearDatabaseAssets $asset_loader ): void {
|
||||||
|
add_action( 'init', array( $asset_loader, 'register' ) );
|
||||||
|
add_action( 'admin_enqueue_scripts', array( $asset_loader, 'enqueue' ) );
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Handles the AJAX request to clear the database.
|
||||||
|
*
|
||||||
|
* @param RequestData $request_data The request data helper.
|
||||||
|
* @param ClearDatabaseInterface $clear_db Can delete the options and clear scheduled actions from database.
|
||||||
|
* @param string $nonce The nonce.
|
||||||
|
* @param string[] $option_names The list of option names.
|
||||||
|
* @param string[] $scheduled_action_names The list of scheduled action names.
|
||||||
|
*/
|
||||||
|
protected function handleClearDbAjaxRequest(
|
||||||
|
RequestData $request_data,
|
||||||
|
ClearDatabaseInterface $clear_db,
|
||||||
|
string $nonce,
|
||||||
|
array $option_names,
|
||||||
|
array $scheduled_action_names
|
||||||
|
): void {
|
||||||
|
add_action(
|
||||||
|
"wc_ajax_{$nonce}",
|
||||||
|
static function () use ( $request_data, $clear_db, $nonce, $option_names, $scheduled_action_names ) {
|
||||||
|
try {
|
||||||
|
// Validate nonce.
|
||||||
|
$request_data->read_request( $nonce );
|
||||||
|
$clear_db->delete_options( $option_names );
|
||||||
|
$clear_db->clear_scheduled_actions( $scheduled_action_names );
|
||||||
|
|
||||||
|
wp_send_json_success();
|
||||||
|
return true;
|
||||||
|
} catch ( Exception $error ) {
|
||||||
|
wp_send_json_error( $error->getMessage(), 403 );
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
35
modules/ppcp-uninstall/webpack.config.js
Normal file
35
modules/ppcp-uninstall/webpack.config.js
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
const path = require('path');
|
||||||
|
const isProduction = process.env.NODE_ENV === 'production';
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
devtool: isProduction ? 'source-map' : 'eval-source-map',
|
||||||
|
mode: isProduction ? 'production' : 'development',
|
||||||
|
target: 'web',
|
||||||
|
entry: {
|
||||||
|
'ppcp-clear-db': path.resolve('./resources/js/ppcp-clear-db.js'),
|
||||||
|
},
|
||||||
|
output: {
|
||||||
|
path: path.resolve(__dirname, 'assets/'),
|
||||||
|
filename: 'js/[name].js',
|
||||||
|
},
|
||||||
|
module: {
|
||||||
|
rules: [{
|
||||||
|
test: /\.js?$/,
|
||||||
|
exclude: /node_modules/,
|
||||||
|
loader: 'babel-loader',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
test: /\.scss$/,
|
||||||
|
exclude: /node_modules/,
|
||||||
|
use: [
|
||||||
|
{
|
||||||
|
loader: 'file-loader',
|
||||||
|
options: {
|
||||||
|
name: 'css/[name].css',
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{loader:'sass-loader'}
|
||||||
|
]
|
||||||
|
}]
|
||||||
|
}
|
||||||
|
};
|
2306
modules/ppcp-uninstall/yarn.lock
Normal file
2306
modules/ppcp-uninstall/yarn.lock
Normal file
File diff suppressed because it is too large
Load diff
|
@ -23,7 +23,7 @@ class WebhookSimulation {
|
||||||
public const STATE_WAITING = 'waiting';
|
public const STATE_WAITING = 'waiting';
|
||||||
public const STATE_RECEIVED = 'received';
|
public const STATE_RECEIVED = 'received';
|
||||||
|
|
||||||
private const OPTION_ID = 'ppcp-webhook-simulation';
|
public const OPTION_ID = 'ppcp-webhook-simulation';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The webhooks endpoint.
|
* The webhooks endpoint.
|
||||||
|
|
|
@ -15,6 +15,7 @@
|
||||||
"install:modules:ppcp-order-tracking": "cd modules/ppcp-order-tracking && yarn install",
|
"install:modules:ppcp-order-tracking": "cd modules/ppcp-order-tracking && yarn install",
|
||||||
"install:modules:ppcp-onboarding": "cd modules/ppcp-onboarding && yarn install",
|
"install:modules:ppcp-onboarding": "cd modules/ppcp-onboarding && yarn install",
|
||||||
"install:modules:ppcp-compat": "cd modules/ppcp-compat && yarn install",
|
"install:modules:ppcp-compat": "cd modules/ppcp-compat && yarn install",
|
||||||
|
"install:modules:ppcp-uninstall": "cd modules/ppcp-uninstall && yarn install",
|
||||||
|
|
||||||
"build:modules:ppcp-button": "cd modules/ppcp-button && yarn run build",
|
"build:modules:ppcp-button": "cd modules/ppcp-button && yarn run build",
|
||||||
"build:modules:ppcp-wc-gateway": "cd modules/ppcp-wc-gateway && yarn run build",
|
"build:modules:ppcp-wc-gateway": "cd modules/ppcp-wc-gateway && yarn run build",
|
||||||
|
@ -23,6 +24,7 @@
|
||||||
"build:modules:ppcp-order-tracking": "cd modules/ppcp-order-tracking && yarn run build",
|
"build:modules:ppcp-order-tracking": "cd modules/ppcp-order-tracking && yarn run build",
|
||||||
"build:modules:ppcp-onboarding": "cd modules/ppcp-onboarding && yarn run build",
|
"build:modules:ppcp-onboarding": "cd modules/ppcp-onboarding && yarn run build",
|
||||||
"build:modules:ppcp-compat": "cd modules/ppcp-compat && yarn run build",
|
"build:modules:ppcp-compat": "cd modules/ppcp-compat && yarn run build",
|
||||||
|
"build:modules:ppcp-uninstall": "cd modules/ppcp-uninstall && yarn run build",
|
||||||
"build:modules": "run-p build:modules:*",
|
"build:modules": "run-p build:modules:*",
|
||||||
|
|
||||||
"watch:modules:ppcp-button": "cd modules/ppcp-button && yarn run watch",
|
"watch:modules:ppcp-button": "cd modules/ppcp-button && yarn run watch",
|
||||||
|
@ -32,6 +34,7 @@
|
||||||
"watch:modules:ppcp-order-tracking": "cd modules/ppcp-order-tracking && yarn run watch",
|
"watch:modules:ppcp-order-tracking": "cd modules/ppcp-order-tracking && yarn run watch",
|
||||||
"watch:modules:ppcp-onboarding": "cd modules/ppcp-onboarding && yarn run watch",
|
"watch:modules:ppcp-onboarding": "cd modules/ppcp-onboarding && yarn run watch",
|
||||||
"watch:modules:ppcp-compat": "cd modules/ppcp-compat && yarn run watch",
|
"watch:modules:ppcp-compat": "cd modules/ppcp-compat && yarn run watch",
|
||||||
|
"watch:modules:ppcp-uninstall": "cd modules/ppcp-uninstall && yarn run watch",
|
||||||
"watch:modules": "run-p watch:modules:*",
|
"watch:modules": "run-p watch:modules:*",
|
||||||
|
|
||||||
"ddev:setup": "ddev start && ddev orchestrate",
|
"ddev:setup": "ddev start && ddev orchestrate",
|
||||||
|
|
75
uninstall.php
Normal file
75
uninstall.php
Normal file
|
@ -0,0 +1,75 @@
|
||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* Uninstalls the plugin.
|
||||||
|
*
|
||||||
|
* @package WooCommerce\PayPalCommerce
|
||||||
|
*/
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
use WooCommerce\PayPalCommerce\Uninstall\ClearDatabaseInterface;
|
||||||
|
use WooCommerce\PayPalCommerce\Vendor\Dhii\Container\CachingContainer;
|
||||||
|
use WooCommerce\PayPalCommerce\WcGateway\Settings\Settings;
|
||||||
|
|
||||||
|
if ( ! defined( 'WP_UNINSTALL_PLUGIN' ) ) {
|
||||||
|
die( 'Direct access not allowed.' );
|
||||||
|
}
|
||||||
|
|
||||||
|
$root_dir = __DIR__;
|
||||||
|
$main_plugin_file = "{$root_dir}/woocommerce-paypal-payments.php";
|
||||||
|
|
||||||
|
if ( !file_exists( $main_plugin_file ) ) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
require $main_plugin_file;
|
||||||
|
|
||||||
|
( static function (string $root_dir): void {
|
||||||
|
|
||||||
|
$autoload_filepath = "{$root_dir}/vendor/autoload.php";
|
||||||
|
if ( file_exists( $autoload_filepath ) && ! class_exists( '\WooCommerce\PayPalCommerce\PluginModule' ) ) {
|
||||||
|
require $autoload_filepath;
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
$bootstrap = require "{$root_dir}/bootstrap.php";
|
||||||
|
|
||||||
|
$app_container = $bootstrap( $root_dir );
|
||||||
|
assert( $app_container instanceof CachingContainer );
|
||||||
|
|
||||||
|
$settings = $app_container->get( 'wcgateway.settings' );
|
||||||
|
assert( $settings instanceof Settings );
|
||||||
|
|
||||||
|
$should_clear_db = $settings->has( 'uninstall_clear_db_on_uninstall' ) && $settings->get( 'uninstall_clear_db_on_uninstall' );
|
||||||
|
if ( ! $should_clear_db ) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
$clear_db = $app_container->get( 'uninstall.clear-db' );
|
||||||
|
assert( $clear_db instanceof ClearDatabaseInterface );
|
||||||
|
|
||||||
|
$option_names = $app_container->get( 'uninstall.ppcp-all-option-names' );
|
||||||
|
$scheduled_action_names = $app_container->get( 'uninstall.ppcp-all-scheduled-action-names' );
|
||||||
|
|
||||||
|
$clear_db->delete_options( $option_names );
|
||||||
|
$clear_db->clear_scheduled_actions( $scheduled_action_names );
|
||||||
|
} catch ( Throwable $throwable ) {
|
||||||
|
$message = sprintf(
|
||||||
|
'<strong>Error:</strong> %s <br><pre>%s</pre>',
|
||||||
|
$throwable->getMessage(),
|
||||||
|
$throwable->getTraceAsString()
|
||||||
|
);
|
||||||
|
|
||||||
|
add_action(
|
||||||
|
'all_admin_notices',
|
||||||
|
static function () use ( $message ) {
|
||||||
|
$class = 'notice notice-error';
|
||||||
|
printf(
|
||||||
|
'<div class="%1$s"><p>%2$s</p></div>',
|
||||||
|
esc_attr( $class ),
|
||||||
|
wp_kses_post( $message )
|
||||||
|
);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
||||||
|
} )($root_dir);
|
Loading…
Add table
Add a link
Reference in a new issue