Version Description
- 2020-03-31
Download this release
Release Info
| Developer | codeinwp |
| Plugin | |
| Version | 3.7.4 |
| Comparing to | |
| See all releases | |
Code changes from version 3.7.3 to 3.7.4
- CHANGELOG.md +2 -2
- includes/class-wppr.php +1 -1
- package-lock.json +335 -137
- readme.md +6 -1
- readme.txt +6 -1
- themeisle-hash.json +1 -1
- vendor/autoload.php +1 -1
- vendor/autoload_52.php +1 -1
- vendor/codeinwp/themeisle-sdk/CHANGELOG.md +41 -0
- vendor/codeinwp/themeisle-sdk/load.php +1 -1
- vendor/codeinwp/themeisle-sdk/src/Loader.php +23 -1
- vendor/codeinwp/themeisle-sdk/src/Modules/Licenser.php +250 -82
- vendor/codeinwp/themeisle-sdk/src/Modules/Notification.php +5 -1
- vendor/codeinwp/themeisle-sdk/src/Modules/Rollback.php +1 -1
- vendor/codeinwp/themeisle-sdk/src/Product.php +4 -1
- vendor/composer/autoload_real.php +5 -5
- vendor/composer/autoload_real_52.php +3 -3
- vendor/composer/installed.json +6 -6
- wp-product-review.php +2 -2
CHANGELOG.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
| 1 |
|
| 2 |
-
### v3.7.
|
| 3 |
**Changes:**
|
| 4 |
-
*
|
| 5 |
|
| 6 |
### v3.7.3 - 2020-02-24
|
| 7 |
**Changes:**
|
| 1 |
|
| 2 |
+
### v3.7.4 - 2020-03-31
|
| 3 |
**Changes:**
|
| 4 |
+
* Tested up to WordPress 5.4
|
| 5 |
|
| 6 |
### v3.7.3 - 2020-02-24
|
| 7 |
**Changes:**
|
includes/class-wppr.php
CHANGED
|
@@ -67,7 +67,7 @@ class WPPR {
|
|
| 67 |
*/
|
| 68 |
public function __construct() {
|
| 69 |
$this->plugin_name = 'wppr';
|
| 70 |
-
$this->version = '3.7.
|
| 71 |
|
| 72 |
$this->load_dependencies();
|
| 73 |
$this->set_locale();
|
| 67 |
*/
|
| 68 |
public function __construct() {
|
| 69 |
$this->plugin_name = 'wppr';
|
| 70 |
+
$this->version = '3.7.4';
|
| 71 |
|
| 72 |
$this->load_dependencies();
|
| 73 |
$this->set_locale();
|
package-lock.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
| 1 |
{
|
| 2 |
"name": "wp-product-review",
|
| 3 |
-
"version": "3.7.
|
| 4 |
"lockfileVersion": 1,
|
| 5 |
"requires": true,
|
| 6 |
"dependencies": {
|
|
@@ -265,13 +265,13 @@
|
|
| 265 |
"dev": true
|
| 266 |
},
|
| 267 |
"autoprefixer": {
|
| 268 |
-
"version": "9.7.
|
| 269 |
-
"resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.7.
|
| 270 |
-
"integrity": "sha512-
|
| 271 |
"dev": true,
|
| 272 |
"requires": {
|
| 273 |
-
"browserslist": "4.
|
| 274 |
-
"caniuse-lite": "1.0.
|
| 275 |
"chalk": "2.4.2",
|
| 276 |
"normalize-range": "0.1.2",
|
| 277 |
"num2fraction": "1.2.2",
|
|
@@ -429,7 +429,7 @@
|
|
| 429 |
"is-stream": "1.1.0",
|
| 430 |
"npm-run-path": "2.0.2",
|
| 431 |
"p-finally": "1.0.0",
|
| 432 |
-
"signal-exit": "3.0.
|
| 433 |
"strip-eof": "1.0.0"
|
| 434 |
}
|
| 435 |
},
|
|
@@ -686,20 +686,21 @@
|
|
| 686 |
}
|
| 687 |
},
|
| 688 |
"browserslist": {
|
| 689 |
-
"version": "4.
|
| 690 |
-
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.
|
| 691 |
-
"integrity": "sha512-
|
| 692 |
"dev": true,
|
| 693 |
"requires": {
|
| 694 |
-
"caniuse-lite": "1.0.
|
| 695 |
-
"electron-to-chromium": "1.3.
|
| 696 |
-
"node-releases": "1.1.
|
|
|
|
| 697 |
}
|
| 698 |
},
|
| 699 |
"buffer": {
|
| 700 |
-
"version": "5.
|
| 701 |
-
"resolved": "https://registry.npmjs.org/buffer/-/buffer-5.
|
| 702 |
-
"integrity": "sha512-
|
| 703 |
"dev": true,
|
| 704 |
"requires": {
|
| 705 |
"base64-js": "1.3.1",
|
|
@@ -764,9 +765,20 @@
|
|
| 764 |
"dev": true,
|
| 765 |
"requires": {
|
| 766 |
"graceful-fs": "4.2.3",
|
| 767 |
-
"mkdirp": "0.5.
|
| 768 |
"object-assign": "4.1.1",
|
| 769 |
"rimraf": "2.6.3"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 770 |
}
|
| 771 |
},
|
| 772 |
"cacheable-request": {
|
|
@@ -817,9 +829,9 @@
|
|
| 817 |
}
|
| 818 |
},
|
| 819 |
"caniuse-lite": {
|
| 820 |
-
"version": "1.0.
|
| 821 |
-
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.
|
| 822 |
-
"integrity": "sha512-
|
| 823 |
"dev": true
|
| 824 |
},
|
| 825 |
"caseless": {
|
|
@@ -1088,7 +1100,7 @@
|
|
| 1088 |
"integrity": "sha512-iX3mfgcTMIq3ZKLIsVFAbv7+Mc10kxabAGQb8HvjA1o3T1PIYprbakQ65d3I+2HGHt6nSKkM9PYjgoJO2KcFBQ==",
|
| 1089 |
"dev": true,
|
| 1090 |
"requires": {
|
| 1091 |
-
"buffer": "5.
|
| 1092 |
}
|
| 1093 |
},
|
| 1094 |
"crc32-stream": {
|
|
@@ -1175,6 +1187,7 @@
|
|
| 1175 |
"resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz",
|
| 1176 |
"integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==",
|
| 1177 |
"dev": true,
|
|
|
|
| 1178 |
"requires": {
|
| 1179 |
"mdn-data": "2.0.4",
|
| 1180 |
"source-map": "0.6.1"
|
|
@@ -1244,13 +1257,33 @@
|
|
| 1244 |
}
|
| 1245 |
},
|
| 1246 |
"csso": {
|
| 1247 |
-
"version": "4.0.
|
| 1248 |
-
"resolved": "https://registry.npmjs.org/csso/-/csso-4.0.
|
| 1249 |
-
"integrity": "sha512-
|
| 1250 |
"dev": true,
|
| 1251 |
"optional": true,
|
| 1252 |
"requires": {
|
| 1253 |
-
"css-tree": "1.0.0-alpha.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1254 |
}
|
| 1255 |
},
|
| 1256 |
"currently-unhandled": {
|
|
@@ -1652,7 +1685,7 @@
|
|
| 1652 |
"integrity": "sha512-jeXYwHPKbitU1l14dWlsl5Nm+b1Hsm7VX73BsrQ4RVwEcAQQIPFHTZAbVtuIGxZBrpdT2FXd8lbtrNBrzZxIsA==",
|
| 1653 |
"dev": true,
|
| 1654 |
"requires": {
|
| 1655 |
-
"errlop": "2.
|
| 1656 |
"semver": "6.3.0"
|
| 1657 |
},
|
| 1658 |
"dependencies": {
|
|
@@ -1665,9 +1698,9 @@
|
|
| 1665 |
}
|
| 1666 |
},
|
| 1667 |
"electron-to-chromium": {
|
| 1668 |
-
"version": "1.3.
|
| 1669 |
-
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.
|
| 1670 |
-
"integrity": "sha512-
|
| 1671 |
"dev": true
|
| 1672 |
},
|
| 1673 |
"encoding": {
|
|
@@ -1695,9 +1728,9 @@
|
|
| 1695 |
"dev": true
|
| 1696 |
},
|
| 1697 |
"errlop": {
|
| 1698 |
-
"version": "2.
|
| 1699 |
-
"resolved": "https://registry.npmjs.org/errlop/-/errlop-2.
|
| 1700 |
-
"integrity": "sha512-
|
| 1701 |
"dev": true
|
| 1702 |
},
|
| 1703 |
"error": {
|
|
@@ -1719,9 +1752,9 @@
|
|
| 1719 |
}
|
| 1720 |
},
|
| 1721 |
"es-abstract": {
|
| 1722 |
-
"version": "1.17.
|
| 1723 |
-
"resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.
|
| 1724 |
-
"integrity": "sha512-
|
| 1725 |
"dev": true,
|
| 1726 |
"requires": {
|
| 1727 |
"es-to-primitive": "1.2.1",
|
|
@@ -1733,8 +1766,8 @@
|
|
| 1733 |
"object-inspect": "1.7.0",
|
| 1734 |
"object-keys": "1.1.1",
|
| 1735 |
"object.assign": "4.1.0",
|
| 1736 |
-
"string.prototype.trimleft": "2.1.
|
| 1737 |
-
"string.prototype.trimright": "2.1.
|
| 1738 |
}
|
| 1739 |
},
|
| 1740 |
"es-to-primitive": {
|
|
@@ -1800,7 +1833,7 @@
|
|
| 1800 |
"is-stream": "1.1.0",
|
| 1801 |
"npm-run-path": "2.0.2",
|
| 1802 |
"p-finally": "1.0.0",
|
| 1803 |
-
"signal-exit": "3.0.
|
| 1804 |
"strip-eof": "1.0.0"
|
| 1805 |
}
|
| 1806 |
},
|
|
@@ -2222,7 +2255,7 @@
|
|
| 2222 |
"console-control-strings": "1.1.0",
|
| 2223 |
"has-unicode": "2.0.1",
|
| 2224 |
"object-assign": "4.1.1",
|
| 2225 |
-
"signal-exit": "3.0.
|
| 2226 |
"string-width": "1.0.2",
|
| 2227 |
"strip-ansi": "3.0.1",
|
| 2228 |
"wide-align": "1.1.3"
|
|
@@ -2342,7 +2375,7 @@
|
|
| 2342 |
"is-stream": "1.1.0",
|
| 2343 |
"npm-run-path": "2.0.2",
|
| 2344 |
"p-finally": "1.0.0",
|
| 2345 |
-
"signal-exit": "3.0.
|
| 2346 |
"strip-eof": "1.0.0"
|
| 2347 |
}
|
| 2348 |
},
|
|
@@ -2537,9 +2570,9 @@
|
|
| 2537 |
"dev": true
|
| 2538 |
},
|
| 2539 |
"grunt": {
|
| 2540 |
-
"version": "1.0
|
| 2541 |
-
"resolved": "https://registry.npmjs.org/grunt/-/grunt-1.0.
|
| 2542 |
-
"integrity": "sha512
|
| 2543 |
"dev": true,
|
| 2544 |
"requires": {
|
| 2545 |
"coffeescript": "1.10.0",
|
|
@@ -2555,7 +2588,7 @@
|
|
| 2555 |
"iconv-lite": "0.4.24",
|
| 2556 |
"js-yaml": "3.13.1",
|
| 2557 |
"minimatch": "3.0.4",
|
| 2558 |
-
"mkdirp": "0.
|
| 2559 |
"nopt": "3.0.6",
|
| 2560 |
"path-is-absolute": "1.0.1",
|
| 2561 |
"rimraf": "2.6.3"
|
|
@@ -3122,7 +3155,7 @@
|
|
| 3122 |
"version": "github:codeinwp/grunt-plugin-fleet#922540b800fafe8a89d60e82699afb8073c1b7c2",
|
| 3123 |
"dev": true,
|
| 3124 |
"requires": {
|
| 3125 |
-
"autoprefixer": "9.7.
|
| 3126 |
"grunt": "1.0.4",
|
| 3127 |
"grunt-cachebuster": "0.1.7",
|
| 3128 |
"grunt-checktextdomain": "1.0.1",
|
|
@@ -3147,6 +3180,62 @@
|
|
| 3147 |
"grunt-wp-readme-to-markdown": "2.0.1",
|
| 3148 |
"ignore": "5.1.4",
|
| 3149 |
"time-grunt": "1.4.0"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 3150 |
}
|
| 3151 |
},
|
| 3152 |
"grunt-postcss": {
|
|
@@ -3205,7 +3294,7 @@
|
|
| 3205 |
"integrity": "sha512-mpcf8tcEtRBeMVkZpysIIDbv6sW3S0R5MO4+ysMNb7i6LNSpvyTePKWE/eOnLdfyXIuqxtP/H2Z4Mgkjl2BUBw==",
|
| 3206 |
"dev": true,
|
| 3207 |
"requires": {
|
| 3208 |
-
"grunt": "1.0
|
| 3209 |
"semver": "6.3.0"
|
| 3210 |
},
|
| 3211 |
"dependencies": {
|
|
@@ -3234,7 +3323,7 @@
|
|
| 3234 |
"integrity": "sha512-CJNbEKeBeOSAPeaJ9B8iCgSwtaG63UR9/uT46a4OsIqnFhOJpeAi138JTlvjfIbnDVoBrzvdrKJe1svveLjUtA==",
|
| 3235 |
"dev": true,
|
| 3236 |
"requires": {
|
| 3237 |
-
"grunt": "1.0
|
| 3238 |
"node-wp-i18n": "1.2.3"
|
| 3239 |
}
|
| 3240 |
},
|
|
@@ -3356,9 +3445,9 @@
|
|
| 3356 |
"dev": true
|
| 3357 |
},
|
| 3358 |
"hosted-git-info": {
|
| 3359 |
-
"version": "2.8.
|
| 3360 |
-
"resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.
|
| 3361 |
-
"integrity": "sha512-
|
| 3362 |
"dev": true
|
| 3363 |
},
|
| 3364 |
"html-comment-regex": {
|
|
@@ -4090,6 +4179,17 @@
|
|
| 4090 |
"arrify": "1.0.1",
|
| 4091 |
"multimatch": "2.1.0",
|
| 4092 |
"pkg-up": "1.0.0"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 4093 |
}
|
| 4094 |
},
|
| 4095 |
"load-json-file": {
|
|
@@ -4124,6 +4224,24 @@
|
|
| 4124 |
}
|
| 4125 |
}
|
| 4126 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 4127 |
"lodash": {
|
| 4128 |
"version": "4.17.15",
|
| 4129 |
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz",
|
|
@@ -4155,7 +4273,7 @@
|
|
| 4155 |
"dev": true,
|
| 4156 |
"requires": {
|
| 4157 |
"currently-unhandled": "0.4.1",
|
| 4158 |
-
"signal-exit": "3.0.
|
| 4159 |
}
|
| 4160 |
},
|
| 4161 |
"lowercase-keys": {
|
|
@@ -4235,7 +4353,8 @@
|
|
| 4235 |
"version": "2.0.4",
|
| 4236 |
"resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz",
|
| 4237 |
"integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==",
|
| 4238 |
-
"dev": true
|
|
|
|
| 4239 |
},
|
| 4240 |
"meow": {
|
| 4241 |
"version": "3.7.0",
|
|
@@ -4247,7 +4366,7 @@
|
|
| 4247 |
"decamelize": "1.2.0",
|
| 4248 |
"loud-rejection": "1.6.0",
|
| 4249 |
"map-obj": "1.0.1",
|
| 4250 |
-
"minimist": "1.2.
|
| 4251 |
"normalize-package-data": "2.5.0",
|
| 4252 |
"object-assign": "4.1.1",
|
| 4253 |
"read-pkg-up": "1.0.1",
|
|
@@ -4314,9 +4433,9 @@
|
|
| 4314 |
}
|
| 4315 |
},
|
| 4316 |
"minimist": {
|
| 4317 |
-
"version": "1.2.
|
| 4318 |
-
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.
|
| 4319 |
-
"integrity": "
|
| 4320 |
"dev": true
|
| 4321 |
},
|
| 4322 |
"mixin-deep": {
|
|
@@ -4341,21 +4460,17 @@
|
|
| 4341 |
}
|
| 4342 |
},
|
| 4343 |
"mkdirp": {
|
| 4344 |
-
"version": "0.
|
| 4345 |
-
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.
|
| 4346 |
-
"integrity": "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 4347 |
"dev": true,
|
| 4348 |
-
"
|
| 4349 |
-
"minimist": "0.0.8"
|
| 4350 |
-
},
|
| 4351 |
-
"dependencies": {
|
| 4352 |
-
"minimist": {
|
| 4353 |
-
"version": "0.0.8",
|
| 4354 |
-
"resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
|
| 4355 |
-
"integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
|
| 4356 |
-
"dev": true
|
| 4357 |
-
}
|
| 4358 |
-
}
|
| 4359 |
},
|
| 4360 |
"ms": {
|
| 4361 |
"version": "2.0.0",
|
|
@@ -4402,9 +4517,9 @@
|
|
| 4402 |
}
|
| 4403 |
},
|
| 4404 |
"napi-build-utils": {
|
| 4405 |
-
"version": "1.0.
|
| 4406 |
-
"resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.
|
| 4407 |
-
"integrity": "sha512-
|
| 4408 |
"dev": true,
|
| 4409 |
"optional": true
|
| 4410 |
},
|
|
@@ -4425,21 +4540,10 @@
|
|
| 4425 |
}
|
| 4426 |
},
|
| 4427 |
"node-releases": {
|
| 4428 |
-
"version": "1.1.
|
| 4429 |
-
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.
|
| 4430 |
-
"integrity": "sha512-
|
| 4431 |
-
"dev": true
|
| 4432 |
-
"requires": {
|
| 4433 |
-
"semver": "6.3.0"
|
| 4434 |
-
},
|
| 4435 |
-
"dependencies": {
|
| 4436 |
-
"semver": {
|
| 4437 |
-
"version": "6.3.0",
|
| 4438 |
-
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
|
| 4439 |
-
"integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
|
| 4440 |
-
"dev": true
|
| 4441 |
-
}
|
| 4442 |
-
}
|
| 4443 |
},
|
| 4444 |
"node-uuid": {
|
| 4445 |
"version": "1.4.0",
|
|
@@ -4457,9 +4561,20 @@
|
|
| 4457 |
"gettext-parser": "3.1.1",
|
| 4458 |
"glob": "7.0.6",
|
| 4459 |
"lodash": "4.17.15",
|
| 4460 |
-
"minimist": "1.2.
|
| 4461 |
-
"mkdirp": "0.5.
|
| 4462 |
"tmp": "0.0.33"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 4463 |
}
|
| 4464 |
},
|
| 4465 |
"noop-logger": {
|
|
@@ -4484,7 +4599,7 @@
|
|
| 4484 |
"integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==",
|
| 4485 |
"dev": true,
|
| 4486 |
"requires": {
|
| 4487 |
-
"hosted-git-info": "2.8.
|
| 4488 |
"resolve": "1.15.1",
|
| 4489 |
"semver": "5.7.1",
|
| 4490 |
"validate-npm-package-license": "3.0.4"
|
|
@@ -4681,7 +4796,7 @@
|
|
| 4681 |
"optional": true,
|
| 4682 |
"requires": {
|
| 4683 |
"define-properties": "1.1.3",
|
| 4684 |
-
"es-abstract": "1.17.
|
| 4685 |
}
|
| 4686 |
},
|
| 4687 |
"object.pick": {
|
|
@@ -4701,7 +4816,7 @@
|
|
| 4701 |
"optional": true,
|
| 4702 |
"requires": {
|
| 4703 |
"define-properties": "1.1.3",
|
| 4704 |
-
"es-abstract": "1.17.
|
| 4705 |
"function-bind": "1.1.1",
|
| 4706 |
"has": "1.0.3"
|
| 4707 |
}
|
|
@@ -4773,6 +4888,24 @@
|
|
| 4773 |
"dev": true,
|
| 4774 |
"optional": true
|
| 4775 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 4776 |
"p-map": {
|
| 4777 |
"version": "1.2.0",
|
| 4778 |
"resolved": "https://registry.npmjs.org/p-map/-/p-map-1.2.0.tgz",
|
|
@@ -4811,6 +4944,12 @@
|
|
| 4811 |
"p-finally": "1.0.0"
|
| 4812 |
}
|
| 4813 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 4814 |
"parse-json": {
|
| 4815 |
"version": "2.2.0",
|
| 4816 |
"resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
|
|
@@ -4910,12 +5049,23 @@
|
|
| 4910 |
}
|
| 4911 |
},
|
| 4912 |
"pkg-up": {
|
| 4913 |
-
"version": "
|
| 4914 |
-
"resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-
|
| 4915 |
-
"integrity": "sha1-
|
| 4916 |
"dev": true,
|
| 4917 |
"requires": {
|
| 4918 |
-
"find-up": "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 4919 |
}
|
| 4920 |
},
|
| 4921 |
"plur": {
|
|
@@ -4971,18 +5121,30 @@
|
|
| 4971 |
"detect-libc": "1.0.3",
|
| 4972 |
"expand-template": "2.0.3",
|
| 4973 |
"github-from-package": "0.0.0",
|
| 4974 |
-
"minimist": "1.2.
|
| 4975 |
-
"mkdirp": "0.5.
|
| 4976 |
-
"napi-build-utils": "1.0.
|
| 4977 |
"node-abi": "2.15.0",
|
| 4978 |
"noop-logger": "0.1.1",
|
| 4979 |
"npmlog": "4.1.2",
|
| 4980 |
"pump": "3.0.0",
|
| 4981 |
"rc": "1.2.8",
|
| 4982 |
"simple-get": "3.1.0",
|
| 4983 |
-
"tar-fs": "2.0.
|
| 4984 |
"tunnel-agent": "0.6.0",
|
| 4985 |
"which-pm-runs": "1.0.0"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 4986 |
}
|
| 4987 |
},
|
| 4988 |
"prepend-http": {
|
|
@@ -5036,9 +5198,9 @@
|
|
| 5036 |
"dev": true
|
| 5037 |
},
|
| 5038 |
"psl": {
|
| 5039 |
-
"version": "1.
|
| 5040 |
-
"resolved": "https://registry.npmjs.org/psl/-/psl-1.
|
| 5041 |
-
"integrity": "sha512-
|
| 5042 |
"dev": true
|
| 5043 |
},
|
| 5044 |
"pump": {
|
|
@@ -5065,9 +5227,9 @@
|
|
| 5065 |
"optional": true
|
| 5066 |
},
|
| 5067 |
"qs": {
|
| 5068 |
-
"version": "6.9.
|
| 5069 |
-
"resolved": "https://registry.npmjs.org/qs/-/qs-6.9.
|
| 5070 |
-
"integrity": "sha512-
|
| 5071 |
"dev": true
|
| 5072 |
},
|
| 5073 |
"query-string": {
|
|
@@ -5109,7 +5271,7 @@
|
|
| 5109 |
"requires": {
|
| 5110 |
"deep-extend": "0.6.0",
|
| 5111 |
"ini": "1.3.5",
|
| 5112 |
-
"minimist": "1.2.
|
| 5113 |
"strip-json-comments": "2.0.1"
|
| 5114 |
}
|
| 5115 |
},
|
|
@@ -5442,9 +5604,9 @@
|
|
| 5442 |
"dev": true
|
| 5443 |
},
|
| 5444 |
"signal-exit": {
|
| 5445 |
-
"version": "3.0.
|
| 5446 |
-
"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.
|
| 5447 |
-
"integrity": "
|
| 5448 |
"dev": true
|
| 5449 |
},
|
| 5450 |
"simple-concat": {
|
|
@@ -5792,24 +5954,46 @@
|
|
| 5792 |
"strip-ansi": "3.0.1"
|
| 5793 |
}
|
| 5794 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 5795 |
"string.prototype.trimleft": {
|
| 5796 |
-
"version": "2.1.
|
| 5797 |
-
"resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.
|
| 5798 |
-
"integrity": "sha512-
|
| 5799 |
"dev": true,
|
| 5800 |
"requires": {
|
| 5801 |
"define-properties": "1.1.3",
|
| 5802 |
-
"
|
|
|
|
| 5803 |
}
|
| 5804 |
},
|
| 5805 |
"string.prototype.trimright": {
|
| 5806 |
-
"version": "2.1.
|
| 5807 |
-
"resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.
|
| 5808 |
-
"integrity": "sha512-
|
| 5809 |
"dev": true,
|
| 5810 |
"requires": {
|
| 5811 |
"define-properties": "1.1.3",
|
| 5812 |
-
"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 5813 |
}
|
| 5814 |
},
|
| 5815 |
"string_decoder": {
|
|
@@ -5900,36 +6084,50 @@
|
|
| 5900 |
"css-select": "2.1.0",
|
| 5901 |
"css-select-base-adapter": "0.1.1",
|
| 5902 |
"css-tree": "1.0.0-alpha.37",
|
| 5903 |
-
"csso": "4.0.
|
| 5904 |
"js-yaml": "3.13.1",
|
| 5905 |
-
"mkdirp": "0.5.
|
| 5906 |
"object.values": "1.1.1",
|
| 5907 |
"sax": "1.2.4",
|
| 5908 |
"stable": "0.1.8",
|
| 5909 |
"unquote": "1.1.1",
|
| 5910 |
"util.promisify": "1.0.1"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 5911 |
}
|
| 5912 |
},
|
| 5913 |
"tar-fs": {
|
| 5914 |
-
"version": "2.0.
|
| 5915 |
-
"resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.0.
|
| 5916 |
-
"integrity": "sha512-
|
| 5917 |
"dev": true,
|
| 5918 |
"optional": true,
|
| 5919 |
"requires": {
|
| 5920 |
"chownr": "1.1.4",
|
| 5921 |
-
"mkdirp": "0.5.
|
| 5922 |
"pump": "3.0.0",
|
| 5923 |
-
"tar-stream": "2.1.
|
| 5924 |
},
|
| 5925 |
"dependencies": {
|
| 5926 |
"bl": {
|
| 5927 |
-
"version": "
|
| 5928 |
-
"resolved": "https://registry.npmjs.org/bl/-/bl-
|
| 5929 |
-
"integrity": "sha512-
|
| 5930 |
"dev": true,
|
| 5931 |
"optional": true,
|
| 5932 |
"requires": {
|
|
|
|
|
|
|
| 5933 |
"readable-stream": "3.6.0"
|
| 5934 |
}
|
| 5935 |
},
|
|
@@ -5945,13 +6143,13 @@
|
|
| 5945 |
}
|
| 5946 |
},
|
| 5947 |
"tar-stream": {
|
| 5948 |
-
"version": "2.1.
|
| 5949 |
-
"resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.1.
|
| 5950 |
-
"integrity": "sha512
|
| 5951 |
"dev": true,
|
| 5952 |
"optional": true,
|
| 5953 |
"requires": {
|
| 5954 |
-
"bl": "
|
| 5955 |
"end-of-stream": "1.4.4",
|
| 5956 |
"fs-constants": "1.0.0",
|
| 5957 |
"inherits": "2.0.4",
|
|
@@ -6068,7 +6266,7 @@
|
|
| 6068 |
"faye-websocket": "0.10.0",
|
| 6069 |
"livereload-js": "2.4.0",
|
| 6070 |
"object-assign": "4.1.1",
|
| 6071 |
-
"qs": "6.9.
|
| 6072 |
},
|
| 6073 |
"dependencies": {
|
| 6074 |
"debug": {
|
|
@@ -6151,7 +6349,7 @@
|
|
| 6151 |
"integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==",
|
| 6152 |
"dev": true,
|
| 6153 |
"requires": {
|
| 6154 |
-
"psl": "1.
|
| 6155 |
"punycode": "2.1.1"
|
| 6156 |
}
|
| 6157 |
},
|
|
@@ -6200,7 +6398,7 @@
|
|
| 6200 |
"integrity": "sha512-fUlAF7U9Ah1Q6EieQ4x4zLNejrRvDWUYmxXUpN3uziFYCHapjWFaCAnreY9bGgxzaMCFAPPpYNng57CypwJVhg==",
|
| 6201 |
"dev": true,
|
| 6202 |
"requires": {
|
| 6203 |
-
"buffer": "5.
|
| 6204 |
"through": "2.3.8"
|
| 6205 |
}
|
| 6206 |
},
|
|
@@ -6336,7 +6534,7 @@
|
|
| 6336 |
"optional": true,
|
| 6337 |
"requires": {
|
| 6338 |
"define-properties": "1.1.3",
|
| 6339 |
-
"es-abstract": "1.17.
|
| 6340 |
"has-symbols": "1.0.1",
|
| 6341 |
"object.getownpropertydescriptors": "2.1.0"
|
| 6342 |
}
|
| 1 |
{
|
| 2 |
"name": "wp-product-review",
|
| 3 |
+
"version": "3.7.4",
|
| 4 |
"lockfileVersion": 1,
|
| 5 |
"requires": true,
|
| 6 |
"dependencies": {
|
| 265 |
"dev": true
|
| 266 |
},
|
| 267 |
"autoprefixer": {
|
| 268 |
+
"version": "9.7.5",
|
| 269 |
+
"resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.7.5.tgz",
|
| 270 |
+
"integrity": "sha512-URo6Zvt7VYifomeAfJlMFnYDhow1rk2bufwkbamPEAtQFcL11moLk4PnR7n9vlu7M+BkXAZkHFA0mIcY7tjQFg==",
|
| 271 |
"dev": true,
|
| 272 |
"requires": {
|
| 273 |
+
"browserslist": "4.11.1",
|
| 274 |
+
"caniuse-lite": "1.0.30001038",
|
| 275 |
"chalk": "2.4.2",
|
| 276 |
"normalize-range": "0.1.2",
|
| 277 |
"num2fraction": "1.2.2",
|
| 429 |
"is-stream": "1.1.0",
|
| 430 |
"npm-run-path": "2.0.2",
|
| 431 |
"p-finally": "1.0.0",
|
| 432 |
+
"signal-exit": "3.0.3",
|
| 433 |
"strip-eof": "1.0.0"
|
| 434 |
}
|
| 435 |
},
|
| 686 |
}
|
| 687 |
},
|
| 688 |
"browserslist": {
|
| 689 |
+
"version": "4.11.1",
|
| 690 |
+
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.11.1.tgz",
|
| 691 |
+
"integrity": "sha512-DCTr3kDrKEYNw6Jb9HFxVLQNaue8z+0ZfRBRjmCunKDEXEBajKDj2Y+Uelg+Pi29OnvaSGwjOsnRyNEkXzHg5g==",
|
| 692 |
"dev": true,
|
| 693 |
"requires": {
|
| 694 |
+
"caniuse-lite": "1.0.30001038",
|
| 695 |
+
"electron-to-chromium": "1.3.391",
|
| 696 |
+
"node-releases": "1.1.53",
|
| 697 |
+
"pkg-up": "2.0.0"
|
| 698 |
}
|
| 699 |
},
|
| 700 |
"buffer": {
|
| 701 |
+
"version": "5.5.0",
|
| 702 |
+
"resolved": "https://registry.npmjs.org/buffer/-/buffer-5.5.0.tgz",
|
| 703 |
+
"integrity": "sha512-9FTEDjLjwoAkEwyMGDjYJQN2gfRgOKBKRfiglhvibGbpeeU/pQn1bJxQqm32OD/AIeEuHxU9roxXxg34Byp/Ww==",
|
| 704 |
"dev": true,
|
| 705 |
"requires": {
|
| 706 |
"base64-js": "1.3.1",
|
| 765 |
"dev": true,
|
| 766 |
"requires": {
|
| 767 |
"graceful-fs": "4.2.3",
|
| 768 |
+
"mkdirp": "0.5.4",
|
| 769 |
"object-assign": "4.1.1",
|
| 770 |
"rimraf": "2.6.3"
|
| 771 |
+
},
|
| 772 |
+
"dependencies": {
|
| 773 |
+
"mkdirp": {
|
| 774 |
+
"version": "0.5.4",
|
| 775 |
+
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.4.tgz",
|
| 776 |
+
"integrity": "sha512-iG9AK/dJLtJ0XNgTuDbSyNS3zECqDlAhnQW4CsNxBG3LQJBbHmRX1egw39DmtOdCAqY+dKXV+sgPgilNWUKMVw==",
|
| 777 |
+
"dev": true,
|
| 778 |
+
"requires": {
|
| 779 |
+
"minimist": "1.2.5"
|
| 780 |
+
}
|
| 781 |
+
}
|
| 782 |
}
|
| 783 |
},
|
| 784 |
"cacheable-request": {
|
| 829 |
}
|
| 830 |
},
|
| 831 |
"caniuse-lite": {
|
| 832 |
+
"version": "1.0.30001038",
|
| 833 |
+
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001038.tgz",
|
| 834 |
+
"integrity": "sha512-zii9quPo96XfOiRD4TrfYGs+QsGZpb2cGiMAzPjtf/hpFgB6zCPZgJb7I1+EATeMw/o+lG8FyRAnI+CWStHcaQ==",
|
| 835 |
"dev": true
|
| 836 |
},
|
| 837 |
"caseless": {
|
| 1100 |
"integrity": "sha512-iX3mfgcTMIq3ZKLIsVFAbv7+Mc10kxabAGQb8HvjA1o3T1PIYprbakQ65d3I+2HGHt6nSKkM9PYjgoJO2KcFBQ==",
|
| 1101 |
"dev": true,
|
| 1102 |
"requires": {
|
| 1103 |
+
"buffer": "5.5.0"
|
| 1104 |
}
|
| 1105 |
},
|
| 1106 |
"crc32-stream": {
|
| 1187 |
"resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz",
|
| 1188 |
"integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==",
|
| 1189 |
"dev": true,
|
| 1190 |
+
"optional": true,
|
| 1191 |
"requires": {
|
| 1192 |
"mdn-data": "2.0.4",
|
| 1193 |
"source-map": "0.6.1"
|
| 1257 |
}
|
| 1258 |
},
|
| 1259 |
"csso": {
|
| 1260 |
+
"version": "4.0.3",
|
| 1261 |
+
"resolved": "https://registry.npmjs.org/csso/-/csso-4.0.3.tgz",
|
| 1262 |
+
"integrity": "sha512-NL3spysxUkcrOgnpsT4Xdl2aiEiBG6bXswAABQVHcMrfjjBisFOKwLDOmf4wf32aPdcJws1zds2B0Rg+jqMyHQ==",
|
| 1263 |
"dev": true,
|
| 1264 |
"optional": true,
|
| 1265 |
"requires": {
|
| 1266 |
+
"css-tree": "1.0.0-alpha.39"
|
| 1267 |
+
},
|
| 1268 |
+
"dependencies": {
|
| 1269 |
+
"css-tree": {
|
| 1270 |
+
"version": "1.0.0-alpha.39",
|
| 1271 |
+
"resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.39.tgz",
|
| 1272 |
+
"integrity": "sha512-7UvkEYgBAHRG9Nt980lYxjsTrCyHFN53ky3wVsDkiMdVqylqRt+Zc+jm5qw7/qyOvN2dHSYtX0e4MbCCExSvnA==",
|
| 1273 |
+
"dev": true,
|
| 1274 |
+
"optional": true,
|
| 1275 |
+
"requires": {
|
| 1276 |
+
"mdn-data": "2.0.6",
|
| 1277 |
+
"source-map": "0.6.1"
|
| 1278 |
+
}
|
| 1279 |
+
},
|
| 1280 |
+
"mdn-data": {
|
| 1281 |
+
"version": "2.0.6",
|
| 1282 |
+
"resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.6.tgz",
|
| 1283 |
+
"integrity": "sha512-rQvjv71olwNHgiTbfPZFkJtjNMciWgswYeciZhtvWLO8bmX3TnhyA62I6sTWOyZssWHJJjY6/KiWwqQsWWsqOA==",
|
| 1284 |
+
"dev": true,
|
| 1285 |
+
"optional": true
|
| 1286 |
+
}
|
| 1287 |
}
|
| 1288 |
},
|
| 1289 |
"currently-unhandled": {
|
| 1685 |
"integrity": "sha512-jeXYwHPKbitU1l14dWlsl5Nm+b1Hsm7VX73BsrQ4RVwEcAQQIPFHTZAbVtuIGxZBrpdT2FXd8lbtrNBrzZxIsA==",
|
| 1686 |
"dev": true,
|
| 1687 |
"requires": {
|
| 1688 |
+
"errlop": "2.1.0",
|
| 1689 |
"semver": "6.3.0"
|
| 1690 |
},
|
| 1691 |
"dependencies": {
|
| 1698 |
}
|
| 1699 |
},
|
| 1700 |
"electron-to-chromium": {
|
| 1701 |
+
"version": "1.3.391",
|
| 1702 |
+
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.391.tgz",
|
| 1703 |
+
"integrity": "sha512-WOi6loSnDmfICOqGRrgeK7bZeWDAbGjCptDhI5eyJAqSzWfoeRuOOU1rOTZRL29/9AaxTndZB6Uh8YrxRfZJqw==",
|
| 1704 |
"dev": true
|
| 1705 |
},
|
| 1706 |
"encoding": {
|
| 1728 |
"dev": true
|
| 1729 |
},
|
| 1730 |
"errlop": {
|
| 1731 |
+
"version": "2.1.0",
|
| 1732 |
+
"resolved": "https://registry.npmjs.org/errlop/-/errlop-2.1.0.tgz",
|
| 1733 |
+
"integrity": "sha512-sEmQX03aJkWsqTPDYaymq3ROJmKxMHhFS4UN8fWwr5ZiRtw3p61QHRk2QQj68DiaTIXWujJP+uEUS1Zx3spxlw==",
|
| 1734 |
"dev": true
|
| 1735 |
},
|
| 1736 |
"error": {
|
| 1752 |
}
|
| 1753 |
},
|
| 1754 |
"es-abstract": {
|
| 1755 |
+
"version": "1.17.5",
|
| 1756 |
+
"resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.5.tgz",
|
| 1757 |
+
"integrity": "sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg==",
|
| 1758 |
"dev": true,
|
| 1759 |
"requires": {
|
| 1760 |
"es-to-primitive": "1.2.1",
|
| 1766 |
"object-inspect": "1.7.0",
|
| 1767 |
"object-keys": "1.1.1",
|
| 1768 |
"object.assign": "4.1.0",
|
| 1769 |
+
"string.prototype.trimleft": "2.1.2",
|
| 1770 |
+
"string.prototype.trimright": "2.1.2"
|
| 1771 |
}
|
| 1772 |
},
|
| 1773 |
"es-to-primitive": {
|
| 1833 |
"is-stream": "1.1.0",
|
| 1834 |
"npm-run-path": "2.0.2",
|
| 1835 |
"p-finally": "1.0.0",
|
| 1836 |
+
"signal-exit": "3.0.3",
|
| 1837 |
"strip-eof": "1.0.0"
|
| 1838 |
}
|
| 1839 |
},
|
| 2255 |
"console-control-strings": "1.1.0",
|
| 2256 |
"has-unicode": "2.0.1",
|
| 2257 |
"object-assign": "4.1.1",
|
| 2258 |
+
"signal-exit": "3.0.3",
|
| 2259 |
"string-width": "1.0.2",
|
| 2260 |
"strip-ansi": "3.0.1",
|
| 2261 |
"wide-align": "1.1.3"
|
| 2375 |
"is-stream": "1.1.0",
|
| 2376 |
"npm-run-path": "2.0.2",
|
| 2377 |
"p-finally": "1.0.0",
|
| 2378 |
+
"signal-exit": "3.0.3",
|
| 2379 |
"strip-eof": "1.0.0"
|
| 2380 |
}
|
| 2381 |
},
|
| 2570 |
"dev": true
|
| 2571 |
},
|
| 2572 |
"grunt": {
|
| 2573 |
+
"version": "1.1.0",
|
| 2574 |
+
"resolved": "https://registry.npmjs.org/grunt/-/grunt-1.1.0.tgz",
|
| 2575 |
+
"integrity": "sha512-+NGod0grmviZ7Nzdi9am7vuRS/h76PcWDsV635mEXF0PEQMUV6Kb+OjTdsVxbi0PZmfQOjCMKb3w8CVZcqsn1g==",
|
| 2576 |
"dev": true,
|
| 2577 |
"requires": {
|
| 2578 |
"coffeescript": "1.10.0",
|
| 2588 |
"iconv-lite": "0.4.24",
|
| 2589 |
"js-yaml": "3.13.1",
|
| 2590 |
"minimatch": "3.0.4",
|
| 2591 |
+
"mkdirp": "1.0.3",
|
| 2592 |
"nopt": "3.0.6",
|
| 2593 |
"path-is-absolute": "1.0.1",
|
| 2594 |
"rimraf": "2.6.3"
|
| 3155 |
"version": "github:codeinwp/grunt-plugin-fleet#922540b800fafe8a89d60e82699afb8073c1b7c2",
|
| 3156 |
"dev": true,
|
| 3157 |
"requires": {
|
| 3158 |
+
"autoprefixer": "9.7.5",
|
| 3159 |
"grunt": "1.0.4",
|
| 3160 |
"grunt-cachebuster": "0.1.7",
|
| 3161 |
"grunt-checktextdomain": "1.0.1",
|
| 3180 |
"grunt-wp-readme-to-markdown": "2.0.1",
|
| 3181 |
"ignore": "5.1.4",
|
| 3182 |
"time-grunt": "1.4.0"
|
| 3183 |
+
},
|
| 3184 |
+
"dependencies": {
|
| 3185 |
+
"grunt": {
|
| 3186 |
+
"version": "1.0.4",
|
| 3187 |
+
"resolved": "https://registry.npmjs.org/grunt/-/grunt-1.0.4.tgz",
|
| 3188 |
+
"integrity": "sha512-PYsMOrOC+MsdGEkFVwMaMyc6Ob7pKmq+deg1Sjr+vvMWp35sztfwKE7qoN51V+UEtHsyNuMcGdgMLFkBHvMxHQ==",
|
| 3189 |
+
"dev": true,
|
| 3190 |
+
"requires": {
|
| 3191 |
+
"coffeescript": "1.10.0",
|
| 3192 |
+
"dateformat": "1.0.12",
|
| 3193 |
+
"eventemitter2": "0.4.14",
|
| 3194 |
+
"exit": "0.1.2",
|
| 3195 |
+
"findup-sync": "0.3.0",
|
| 3196 |
+
"glob": "7.0.6",
|
| 3197 |
+
"grunt-cli": "1.2.0",
|
| 3198 |
+
"grunt-known-options": "1.1.1",
|
| 3199 |
+
"grunt-legacy-log": "2.0.0",
|
| 3200 |
+
"grunt-legacy-util": "1.1.1",
|
| 3201 |
+
"iconv-lite": "0.4.24",
|
| 3202 |
+
"js-yaml": "3.13.1",
|
| 3203 |
+
"minimatch": "3.0.4",
|
| 3204 |
+
"mkdirp": "0.5.4",
|
| 3205 |
+
"nopt": "3.0.6",
|
| 3206 |
+
"path-is-absolute": "1.0.1",
|
| 3207 |
+
"rimraf": "2.6.3"
|
| 3208 |
+
},
|
| 3209 |
+
"dependencies": {
|
| 3210 |
+
"grunt-cli": {
|
| 3211 |
+
"version": "1.2.0",
|
| 3212 |
+
"resolved": "https://registry.npmjs.org/grunt-cli/-/grunt-cli-1.2.0.tgz",
|
| 3213 |
+
"integrity": "sha1-VisRnrsGndtGSs4oRVAb6Xs1tqg=",
|
| 3214 |
+
"dev": true,
|
| 3215 |
+
"requires": {
|
| 3216 |
+
"findup-sync": "0.3.0",
|
| 3217 |
+
"grunt-known-options": "1.1.1",
|
| 3218 |
+
"nopt": "3.0.6",
|
| 3219 |
+
"resolve": "1.1.7"
|
| 3220 |
+
}
|
| 3221 |
+
}
|
| 3222 |
+
}
|
| 3223 |
+
},
|
| 3224 |
+
"mkdirp": {
|
| 3225 |
+
"version": "0.5.4",
|
| 3226 |
+
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.4.tgz",
|
| 3227 |
+
"integrity": "sha512-iG9AK/dJLtJ0XNgTuDbSyNS3zECqDlAhnQW4CsNxBG3LQJBbHmRX1egw39DmtOdCAqY+dKXV+sgPgilNWUKMVw==",
|
| 3228 |
+
"dev": true,
|
| 3229 |
+
"requires": {
|
| 3230 |
+
"minimist": "1.2.5"
|
| 3231 |
+
}
|
| 3232 |
+
},
|
| 3233 |
+
"resolve": {
|
| 3234 |
+
"version": "1.1.7",
|
| 3235 |
+
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz",
|
| 3236 |
+
"integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=",
|
| 3237 |
+
"dev": true
|
| 3238 |
+
}
|
| 3239 |
}
|
| 3240 |
},
|
| 3241 |
"grunt-postcss": {
|
| 3294 |
"integrity": "sha512-mpcf8tcEtRBeMVkZpysIIDbv6sW3S0R5MO4+ysMNb7i6LNSpvyTePKWE/eOnLdfyXIuqxtP/H2Z4Mgkjl2BUBw==",
|
| 3295 |
"dev": true,
|
| 3296 |
"requires": {
|
| 3297 |
+
"grunt": "1.1.0",
|
| 3298 |
"semver": "6.3.0"
|
| 3299 |
},
|
| 3300 |
"dependencies": {
|
| 3323 |
"integrity": "sha512-CJNbEKeBeOSAPeaJ9B8iCgSwtaG63UR9/uT46a4OsIqnFhOJpeAi138JTlvjfIbnDVoBrzvdrKJe1svveLjUtA==",
|
| 3324 |
"dev": true,
|
| 3325 |
"requires": {
|
| 3326 |
+
"grunt": "1.1.0",
|
| 3327 |
"node-wp-i18n": "1.2.3"
|
| 3328 |
}
|
| 3329 |
},
|
| 3445 |
"dev": true
|
| 3446 |
},
|
| 3447 |
"hosted-git-info": {
|
| 3448 |
+
"version": "2.8.8",
|
| 3449 |
+
"resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz",
|
| 3450 |
+
"integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==",
|
| 3451 |
"dev": true
|
| 3452 |
},
|
| 3453 |
"html-comment-regex": {
|
| 4179 |
"arrify": "1.0.1",
|
| 4180 |
"multimatch": "2.1.0",
|
| 4181 |
"pkg-up": "1.0.0"
|
| 4182 |
+
},
|
| 4183 |
+
"dependencies": {
|
| 4184 |
+
"pkg-up": {
|
| 4185 |
+
"version": "1.0.0",
|
| 4186 |
+
"resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-1.0.0.tgz",
|
| 4187 |
+
"integrity": "sha1-Pgj7RhUlxEIWJKM7n35tCvWwWiY=",
|
| 4188 |
+
"dev": true,
|
| 4189 |
+
"requires": {
|
| 4190 |
+
"find-up": "1.1.2"
|
| 4191 |
+
}
|
| 4192 |
+
}
|
| 4193 |
}
|
| 4194 |
},
|
| 4195 |
"load-json-file": {
|
| 4224 |
}
|
| 4225 |
}
|
| 4226 |
},
|
| 4227 |
+
"locate-path": {
|
| 4228 |
+
"version": "2.0.0",
|
| 4229 |
+
"resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz",
|
| 4230 |
+
"integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=",
|
| 4231 |
+
"dev": true,
|
| 4232 |
+
"requires": {
|
| 4233 |
+
"p-locate": "2.0.0",
|
| 4234 |
+
"path-exists": "3.0.0"
|
| 4235 |
+
},
|
| 4236 |
+
"dependencies": {
|
| 4237 |
+
"path-exists": {
|
| 4238 |
+
"version": "3.0.0",
|
| 4239 |
+
"resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
|
| 4240 |
+
"integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
|
| 4241 |
+
"dev": true
|
| 4242 |
+
}
|
| 4243 |
+
}
|
| 4244 |
+
},
|
| 4245 |
"lodash": {
|
| 4246 |
"version": "4.17.15",
|
| 4247 |
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz",
|
| 4273 |
"dev": true,
|
| 4274 |
"requires": {
|
| 4275 |
"currently-unhandled": "0.4.1",
|
| 4276 |
+
"signal-exit": "3.0.3"
|
| 4277 |
}
|
| 4278 |
},
|
| 4279 |
"lowercase-keys": {
|
| 4353 |
"version": "2.0.4",
|
| 4354 |
"resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz",
|
| 4355 |
"integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==",
|
| 4356 |
+
"dev": true,
|
| 4357 |
+
"optional": true
|
| 4358 |
},
|
| 4359 |
"meow": {
|
| 4360 |
"version": "3.7.0",
|
| 4366 |
"decamelize": "1.2.0",
|
| 4367 |
"loud-rejection": "1.6.0",
|
| 4368 |
"map-obj": "1.0.1",
|
| 4369 |
+
"minimist": "1.2.5",
|
| 4370 |
"normalize-package-data": "2.5.0",
|
| 4371 |
"object-assign": "4.1.1",
|
| 4372 |
"read-pkg-up": "1.0.1",
|
| 4433 |
}
|
| 4434 |
},
|
| 4435 |
"minimist": {
|
| 4436 |
+
"version": "1.2.5",
|
| 4437 |
+
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
|
| 4438 |
+
"integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
|
| 4439 |
"dev": true
|
| 4440 |
},
|
| 4441 |
"mixin-deep": {
|
| 4460 |
}
|
| 4461 |
},
|
| 4462 |
"mkdirp": {
|
| 4463 |
+
"version": "1.0.3",
|
| 4464 |
+
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.3.tgz",
|
| 4465 |
+
"integrity": "sha512-6uCP4Qc0sWsgMLy1EOqqS/3rjDHOEnsStVr/4vtAIK2Y5i2kA7lFFejYrpIyiN9w0pYf4ckeCYT9f1r1P9KX5g==",
|
| 4466 |
+
"dev": true
|
| 4467 |
+
},
|
| 4468 |
+
"mkdirp-classic": {
|
| 4469 |
+
"version": "0.5.2",
|
| 4470 |
+
"resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.2.tgz",
|
| 4471 |
+
"integrity": "sha512-ejdnDQcR75gwknmMw/tx02AuRs8jCtqFoFqDZMjiNxsu85sRIJVXDKHuLYvUUPRBUtV2FpSZa9bL1BUa3BdR2g==",
|
| 4472 |
"dev": true,
|
| 4473 |
+
"optional": true
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 4474 |
},
|
| 4475 |
"ms": {
|
| 4476 |
"version": "2.0.0",
|
| 4517 |
}
|
| 4518 |
},
|
| 4519 |
"napi-build-utils": {
|
| 4520 |
+
"version": "1.0.2",
|
| 4521 |
+
"resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz",
|
| 4522 |
+
"integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==",
|
| 4523 |
"dev": true,
|
| 4524 |
"optional": true
|
| 4525 |
},
|
| 4540 |
}
|
| 4541 |
},
|
| 4542 |
"node-releases": {
|
| 4543 |
+
"version": "1.1.53",
|
| 4544 |
+
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.53.tgz",
|
| 4545 |
+
"integrity": "sha512-wp8zyQVwef2hpZ/dJH7SfSrIPD6YoJz6BDQDpGEkcA0s3LpAQoxBIYmfIq6QAhC1DhwsyCgTaTTcONwX8qzCuQ==",
|
| 4546 |
+
"dev": true
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 4547 |
},
|
| 4548 |
"node-uuid": {
|
| 4549 |
"version": "1.4.0",
|
| 4561 |
"gettext-parser": "3.1.1",
|
| 4562 |
"glob": "7.0.6",
|
| 4563 |
"lodash": "4.17.15",
|
| 4564 |
+
"minimist": "1.2.5",
|
| 4565 |
+
"mkdirp": "0.5.4",
|
| 4566 |
"tmp": "0.0.33"
|
| 4567 |
+
},
|
| 4568 |
+
"dependencies": {
|
| 4569 |
+
"mkdirp": {
|
| 4570 |
+
"version": "0.5.4",
|
| 4571 |
+
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.4.tgz",
|
| 4572 |
+
"integrity": "sha512-iG9AK/dJLtJ0XNgTuDbSyNS3zECqDlAhnQW4CsNxBG3LQJBbHmRX1egw39DmtOdCAqY+dKXV+sgPgilNWUKMVw==",
|
| 4573 |
+
"dev": true,
|
| 4574 |
+
"requires": {
|
| 4575 |
+
"minimist": "1.2.5"
|
| 4576 |
+
}
|
| 4577 |
+
}
|
| 4578 |
}
|
| 4579 |
},
|
| 4580 |
"noop-logger": {
|
| 4599 |
"integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==",
|
| 4600 |
"dev": true,
|
| 4601 |
"requires": {
|
| 4602 |
+
"hosted-git-info": "2.8.8",
|
| 4603 |
"resolve": "1.15.1",
|
| 4604 |
"semver": "5.7.1",
|
| 4605 |
"validate-npm-package-license": "3.0.4"
|
| 4796 |
"optional": true,
|
| 4797 |
"requires": {
|
| 4798 |
"define-properties": "1.1.3",
|
| 4799 |
+
"es-abstract": "1.17.5"
|
| 4800 |
}
|
| 4801 |
},
|
| 4802 |
"object.pick": {
|
| 4816 |
"optional": true,
|
| 4817 |
"requires": {
|
| 4818 |
"define-properties": "1.1.3",
|
| 4819 |
+
"es-abstract": "1.17.5",
|
| 4820 |
"function-bind": "1.1.1",
|
| 4821 |
"has": "1.0.3"
|
| 4822 |
}
|
| 4888 |
"dev": true,
|
| 4889 |
"optional": true
|
| 4890 |
},
|
| 4891 |
+
"p-limit": {
|
| 4892 |
+
"version": "1.3.0",
|
| 4893 |
+
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz",
|
| 4894 |
+
"integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==",
|
| 4895 |
+
"dev": true,
|
| 4896 |
+
"requires": {
|
| 4897 |
+
"p-try": "1.0.0"
|
| 4898 |
+
}
|
| 4899 |
+
},
|
| 4900 |
+
"p-locate": {
|
| 4901 |
+
"version": "2.0.0",
|
| 4902 |
+
"resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz",
|
| 4903 |
+
"integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=",
|
| 4904 |
+
"dev": true,
|
| 4905 |
+
"requires": {
|
| 4906 |
+
"p-limit": "1.3.0"
|
| 4907 |
+
}
|
| 4908 |
+
},
|
| 4909 |
"p-map": {
|
| 4910 |
"version": "1.2.0",
|
| 4911 |
"resolved": "https://registry.npmjs.org/p-map/-/p-map-1.2.0.tgz",
|
| 4944 |
"p-finally": "1.0.0"
|
| 4945 |
}
|
| 4946 |
},
|
| 4947 |
+
"p-try": {
|
| 4948 |
+
"version": "1.0.0",
|
| 4949 |
+
"resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz",
|
| 4950 |
+
"integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=",
|
| 4951 |
+
"dev": true
|
| 4952 |
+
},
|
| 4953 |
"parse-json": {
|
| 4954 |
"version": "2.2.0",
|
| 4955 |
"resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
|
| 5049 |
}
|
| 5050 |
},
|
| 5051 |
"pkg-up": {
|
| 5052 |
+
"version": "2.0.0",
|
| 5053 |
+
"resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-2.0.0.tgz",
|
| 5054 |
+
"integrity": "sha1-yBmscoBZpGHKscOImivjxJoATX8=",
|
| 5055 |
"dev": true,
|
| 5056 |
"requires": {
|
| 5057 |
+
"find-up": "2.1.0"
|
| 5058 |
+
},
|
| 5059 |
+
"dependencies": {
|
| 5060 |
+
"find-up": {
|
| 5061 |
+
"version": "2.1.0",
|
| 5062 |
+
"resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
|
| 5063 |
+
"integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
|
| 5064 |
+
"dev": true,
|
| 5065 |
+
"requires": {
|
| 5066 |
+
"locate-path": "2.0.0"
|
| 5067 |
+
}
|
| 5068 |
+
}
|
| 5069 |
}
|
| 5070 |
},
|
| 5071 |
"plur": {
|
| 5121 |
"detect-libc": "1.0.3",
|
| 5122 |
"expand-template": "2.0.3",
|
| 5123 |
"github-from-package": "0.0.0",
|
| 5124 |
+
"minimist": "1.2.5",
|
| 5125 |
+
"mkdirp": "0.5.4",
|
| 5126 |
+
"napi-build-utils": "1.0.2",
|
| 5127 |
"node-abi": "2.15.0",
|
| 5128 |
"noop-logger": "0.1.1",
|
| 5129 |
"npmlog": "4.1.2",
|
| 5130 |
"pump": "3.0.0",
|
| 5131 |
"rc": "1.2.8",
|
| 5132 |
"simple-get": "3.1.0",
|
| 5133 |
+
"tar-fs": "2.0.1",
|
| 5134 |
"tunnel-agent": "0.6.0",
|
| 5135 |
"which-pm-runs": "1.0.0"
|
| 5136 |
+
},
|
| 5137 |
+
"dependencies": {
|
| 5138 |
+
"mkdirp": {
|
| 5139 |
+
"version": "0.5.4",
|
| 5140 |
+
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.4.tgz",
|
| 5141 |
+
"integrity": "sha512-iG9AK/dJLtJ0XNgTuDbSyNS3zECqDlAhnQW4CsNxBG3LQJBbHmRX1egw39DmtOdCAqY+dKXV+sgPgilNWUKMVw==",
|
| 5142 |
+
"dev": true,
|
| 5143 |
+
"optional": true,
|
| 5144 |
+
"requires": {
|
| 5145 |
+
"minimist": "1.2.5"
|
| 5146 |
+
}
|
| 5147 |
+
}
|
| 5148 |
}
|
| 5149 |
},
|
| 5150 |
"prepend-http": {
|
| 5198 |
"dev": true
|
| 5199 |
},
|
| 5200 |
"psl": {
|
| 5201 |
+
"version": "1.8.0",
|
| 5202 |
+
"resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz",
|
| 5203 |
+
"integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==",
|
| 5204 |
"dev": true
|
| 5205 |
},
|
| 5206 |
"pump": {
|
| 5227 |
"optional": true
|
| 5228 |
},
|
| 5229 |
"qs": {
|
| 5230 |
+
"version": "6.9.3",
|
| 5231 |
+
"resolved": "https://registry.npmjs.org/qs/-/qs-6.9.3.tgz",
|
| 5232 |
+
"integrity": "sha512-EbZYNarm6138UKKq46tdx08Yo/q9ZhFoAXAI1meAFd2GtbRDhbZY2WQSICskT0c5q99aFzLG1D4nvTk9tqfXIw==",
|
| 5233 |
"dev": true
|
| 5234 |
},
|
| 5235 |
"query-string": {
|
| 5271 |
"requires": {
|
| 5272 |
"deep-extend": "0.6.0",
|
| 5273 |
"ini": "1.3.5",
|
| 5274 |
+
"minimist": "1.2.5",
|
| 5275 |
"strip-json-comments": "2.0.1"
|
| 5276 |
}
|
| 5277 |
},
|
| 5604 |
"dev": true
|
| 5605 |
},
|
| 5606 |
"signal-exit": {
|
| 5607 |
+
"version": "3.0.3",
|
| 5608 |
+
"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz",
|
| 5609 |
+
"integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==",
|
| 5610 |
"dev": true
|
| 5611 |
},
|
| 5612 |
"simple-concat": {
|
| 5954 |
"strip-ansi": "3.0.1"
|
| 5955 |
}
|
| 5956 |
},
|
| 5957 |
+
"string.prototype.trimend": {
|
| 5958 |
+
"version": "1.0.0",
|
| 5959 |
+
"resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.0.tgz",
|
| 5960 |
+
"integrity": "sha512-EEJnGqa/xNfIg05SxiPSqRS7S9qwDhYts1TSLR1BQfYUfPe1stofgGKvwERK9+9yf+PpfBMlpBaCHucXGPQfUA==",
|
| 5961 |
+
"dev": true,
|
| 5962 |
+
"requires": {
|
| 5963 |
+
"define-properties": "1.1.3",
|
| 5964 |
+
"es-abstract": "1.17.5"
|
| 5965 |
+
}
|
| 5966 |
+
},
|
| 5967 |
"string.prototype.trimleft": {
|
| 5968 |
+
"version": "2.1.2",
|
| 5969 |
+
"resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.2.tgz",
|
| 5970 |
+
"integrity": "sha512-gCA0tza1JBvqr3bfAIFJGqfdRTyPae82+KTnm3coDXkZN9wnuW3HjGgN386D7hfv5CHQYCI022/rJPVlqXyHSw==",
|
| 5971 |
"dev": true,
|
| 5972 |
"requires": {
|
| 5973 |
"define-properties": "1.1.3",
|
| 5974 |
+
"es-abstract": "1.17.5",
|
| 5975 |
+
"string.prototype.trimstart": "1.0.0"
|
| 5976 |
}
|
| 5977 |
},
|
| 5978 |
"string.prototype.trimright": {
|
| 5979 |
+
"version": "2.1.2",
|
| 5980 |
+
"resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.2.tgz",
|
| 5981 |
+
"integrity": "sha512-ZNRQ7sY3KroTaYjRS6EbNiiHrOkjihL9aQE/8gfQ4DtAC/aEBRHFJa44OmoWxGGqXuJlfKkZW4WcXErGr+9ZFg==",
|
| 5982 |
"dev": true,
|
| 5983 |
"requires": {
|
| 5984 |
"define-properties": "1.1.3",
|
| 5985 |
+
"es-abstract": "1.17.5",
|
| 5986 |
+
"string.prototype.trimend": "1.0.0"
|
| 5987 |
+
}
|
| 5988 |
+
},
|
| 5989 |
+
"string.prototype.trimstart": {
|
| 5990 |
+
"version": "1.0.0",
|
| 5991 |
+
"resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.0.tgz",
|
| 5992 |
+
"integrity": "sha512-iCP8g01NFYiiBOnwG1Xc3WZLyoo+RuBymwIlWncShXDDJYWN6DbnM3odslBJdgCdRlq94B5s63NWAZlcn2CS4w==",
|
| 5993 |
+
"dev": true,
|
| 5994 |
+
"requires": {
|
| 5995 |
+
"define-properties": "1.1.3",
|
| 5996 |
+
"es-abstract": "1.17.5"
|
| 5997 |
}
|
| 5998 |
},
|
| 5999 |
"string_decoder": {
|
| 6084 |
"css-select": "2.1.0",
|
| 6085 |
"css-select-base-adapter": "0.1.1",
|
| 6086 |
"css-tree": "1.0.0-alpha.37",
|
| 6087 |
+
"csso": "4.0.3",
|
| 6088 |
"js-yaml": "3.13.1",
|
| 6089 |
+
"mkdirp": "0.5.4",
|
| 6090 |
"object.values": "1.1.1",
|
| 6091 |
"sax": "1.2.4",
|
| 6092 |
"stable": "0.1.8",
|
| 6093 |
"unquote": "1.1.1",
|
| 6094 |
"util.promisify": "1.0.1"
|
| 6095 |
+
},
|
| 6096 |
+
"dependencies": {
|
| 6097 |
+
"mkdirp": {
|
| 6098 |
+
"version": "0.5.4",
|
| 6099 |
+
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.4.tgz",
|
| 6100 |
+
"integrity": "sha512-iG9AK/dJLtJ0XNgTuDbSyNS3zECqDlAhnQW4CsNxBG3LQJBbHmRX1egw39DmtOdCAqY+dKXV+sgPgilNWUKMVw==",
|
| 6101 |
+
"dev": true,
|
| 6102 |
+
"optional": true,
|
| 6103 |
+
"requires": {
|
| 6104 |
+
"minimist": "1.2.5"
|
| 6105 |
+
}
|
| 6106 |
+
}
|
| 6107 |
}
|
| 6108 |
},
|
| 6109 |
"tar-fs": {
|
| 6110 |
+
"version": "2.0.1",
|
| 6111 |
+
"resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.0.1.tgz",
|
| 6112 |
+
"integrity": "sha512-6tzWDMeroL87uF/+lin46k+Q+46rAJ0SyPGz7OW7wTgblI273hsBqk2C1j0/xNadNLKDTUL9BukSjB7cwgmlPA==",
|
| 6113 |
"dev": true,
|
| 6114 |
"optional": true,
|
| 6115 |
"requires": {
|
| 6116 |
"chownr": "1.1.4",
|
| 6117 |
+
"mkdirp-classic": "0.5.2",
|
| 6118 |
"pump": "3.0.0",
|
| 6119 |
+
"tar-stream": "2.1.2"
|
| 6120 |
},
|
| 6121 |
"dependencies": {
|
| 6122 |
"bl": {
|
| 6123 |
+
"version": "4.0.2",
|
| 6124 |
+
"resolved": "https://registry.npmjs.org/bl/-/bl-4.0.2.tgz",
|
| 6125 |
+
"integrity": "sha512-j4OH8f6Qg2bGuWfRiltT2HYGx0e1QcBTrK9KAHNMwMZdQnDZFk0ZSYIpADjYCB3U12nicC5tVJwSIhwOWjb4RQ==",
|
| 6126 |
"dev": true,
|
| 6127 |
"optional": true,
|
| 6128 |
"requires": {
|
| 6129 |
+
"buffer": "5.5.0",
|
| 6130 |
+
"inherits": "2.0.4",
|
| 6131 |
"readable-stream": "3.6.0"
|
| 6132 |
}
|
| 6133 |
},
|
| 6143 |
}
|
| 6144 |
},
|
| 6145 |
"tar-stream": {
|
| 6146 |
+
"version": "2.1.2",
|
| 6147 |
+
"resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.1.2.tgz",
|
| 6148 |
+
"integrity": "sha512-UaF6FoJ32WqALZGOIAApXx+OdxhekNMChu6axLJR85zMMjXKWFGjbIRe+J6P4UnRGg9rAwWvbTT0oI7hD/Un7Q==",
|
| 6149 |
"dev": true,
|
| 6150 |
"optional": true,
|
| 6151 |
"requires": {
|
| 6152 |
+
"bl": "4.0.2",
|
| 6153 |
"end-of-stream": "1.4.4",
|
| 6154 |
"fs-constants": "1.0.0",
|
| 6155 |
"inherits": "2.0.4",
|
| 6266 |
"faye-websocket": "0.10.0",
|
| 6267 |
"livereload-js": "2.4.0",
|
| 6268 |
"object-assign": "4.1.1",
|
| 6269 |
+
"qs": "6.9.3"
|
| 6270 |
},
|
| 6271 |
"dependencies": {
|
| 6272 |
"debug": {
|
| 6349 |
"integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==",
|
| 6350 |
"dev": true,
|
| 6351 |
"requires": {
|
| 6352 |
+
"psl": "1.8.0",
|
| 6353 |
"punycode": "2.1.1"
|
| 6354 |
}
|
| 6355 |
},
|
| 6398 |
"integrity": "sha512-fUlAF7U9Ah1Q6EieQ4x4zLNejrRvDWUYmxXUpN3uziFYCHapjWFaCAnreY9bGgxzaMCFAPPpYNng57CypwJVhg==",
|
| 6399 |
"dev": true,
|
| 6400 |
"requires": {
|
| 6401 |
+
"buffer": "5.5.0",
|
| 6402 |
"through": "2.3.8"
|
| 6403 |
}
|
| 6404 |
},
|
| 6534 |
"optional": true,
|
| 6535 |
"requires": {
|
| 6536 |
"define-properties": "1.1.3",
|
| 6537 |
+
"es-abstract": "1.17.5",
|
| 6538 |
"has-symbols": "1.0.1",
|
| 6539 |
"object.getownpropertydescriptors": "2.1.0"
|
| 6540 |
}
|
readme.md
CHANGED
|
@@ -3,7 +3,7 @@
|
|
| 3 |
**Tags:** review, rating, posts, widget, review blogger, review blogging, affiliate, product reviews,plugin, google rating, product review, rating, review, star rating, user rating, wp rating, wp review, google, hreview,rich snippets,seo,snippet
|
| 4 |
**Author URI:** http://themeisle.com
|
| 5 |
**Requires at least:** 3.5
|
| 6 |
-
**Tested up to:** 5.
|
| 7 |
**Stable tag:** trunk
|
| 8 |
**License:** GPLv2 or later
|
| 9 |
**License URI:** http://www.gnu.org/licenses/gpl-2.0.html
|
|
@@ -37,6 +37,11 @@ If you wanna learn more about the <a href="http://www.codeinwp.com/blog/fastest-
|
|
| 37 |
- Add rich snippet ( schema ) to your posts
|
| 38 |
|
| 39 |
## Changelog ##
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 40 |
### 3.7.3 - 2020-02-24 ###
|
| 41 |
|
| 42 |
* Removed PRO mentions
|
| 3 |
**Tags:** review, rating, posts, widget, review blogger, review blogging, affiliate, product reviews,plugin, google rating, product review, rating, review, star rating, user rating, wp rating, wp review, google, hreview,rich snippets,seo,snippet
|
| 4 |
**Author URI:** http://themeisle.com
|
| 5 |
**Requires at least:** 3.5
|
| 6 |
+
**Tested up to:** 5.4
|
| 7 |
**Stable tag:** trunk
|
| 8 |
**License:** GPLv2 or later
|
| 9 |
**License URI:** http://www.gnu.org/licenses/gpl-2.0.html
|
| 37 |
- Add rich snippet ( schema ) to your posts
|
| 38 |
|
| 39 |
## Changelog ##
|
| 40 |
+
### 3.7.4 - 2020-03-31 ###
|
| 41 |
+
|
| 42 |
+
* Tested up to WordPress 5.4
|
| 43 |
+
|
| 44 |
+
|
| 45 |
### 3.7.3 - 2020-02-24 ###
|
| 46 |
|
| 47 |
* Removed PRO mentions
|
readme.txt
CHANGED
|
@@ -3,7 +3,7 @@ Contributors: codeinwp,marius2012,marius_codeinwp,hardeepasrani,themeisle,Madali
|
|
| 3 |
Tags: review, rating, posts, widget, review blogger, review blogging, affiliate, product reviews,plugin, google rating, product review, rating, review, star rating, user rating, wp rating, wp review, google, hreview,rich snippets,seo,snippet
|
| 4 |
Author URI: http://themeisle.com
|
| 5 |
Requires at least: 3.5
|
| 6 |
-
Tested up to: 5.
|
| 7 |
Stable tag: trunk
|
| 8 |
License: GPLv2 or later
|
| 9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
|
@@ -37,6 +37,11 @@ If you wanna learn more about the <a href="http://www.codeinwp.com/blog/fastest-
|
|
| 37 |
- Add rich snippet ( schema ) to your posts
|
| 38 |
|
| 39 |
== Changelog ==
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 40 |
= 3.7.3 - 2020-02-24 =
|
| 41 |
|
| 42 |
* Removed PRO mentions
|
| 3 |
Tags: review, rating, posts, widget, review blogger, review blogging, affiliate, product reviews,plugin, google rating, product review, rating, review, star rating, user rating, wp rating, wp review, google, hreview,rich snippets,seo,snippet
|
| 4 |
Author URI: http://themeisle.com
|
| 5 |
Requires at least: 3.5
|
| 6 |
+
Tested up to: 5.4
|
| 7 |
Stable tag: trunk
|
| 8 |
License: GPLv2 or later
|
| 9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
| 37 |
- Add rich snippet ( schema ) to your posts
|
| 38 |
|
| 39 |
== Changelog ==
|
| 40 |
+
= 3.7.4 - 2020-03-31 =
|
| 41 |
+
|
| 42 |
+
* Tested up to WordPress 5.4
|
| 43 |
+
|
| 44 |
+
|
| 45 |
= 3.7.3 - 2020-02-24 =
|
| 46 |
|
| 47 |
* Removed PRO mentions
|
themeisle-hash.json
CHANGED
|
@@ -1 +1 @@
|
|
| 1 |
-
{"class-wppr-autoloader.php":"c7f7f3dd52445edb5f7367ba7b31281f","class-wppr-recursive-filter.php":"6c74b0e7c04529d797ae9689d9a44c8d","index.php":"c76772901fa1b2b14aa3ba32d7773c8a","uninstall.php":"7c6d36652e8dcf013f2c246f4a289acf","wp-product-review.php":"
|
| 1 |
+
{"class-wppr-autoloader.php":"c7f7f3dd52445edb5f7367ba7b31281f","class-wppr-recursive-filter.php":"6c74b0e7c04529d797ae9689d9a44c8d","index.php":"c76772901fa1b2b14aa3ba32d7773c8a","uninstall.php":"7c6d36652e8dcf013f2c246f4a289acf","wp-product-review.php":"7443a2dd49a667878e0cc6f4a706c628"}
|
vendor/autoload.php
CHANGED
|
@@ -4,4 +4,4 @@
|
|
| 4 |
|
| 5 |
require_once __DIR__ . '/composer' . '/autoload_real.php';
|
| 6 |
|
| 7 |
-
return
|
| 4 |
|
| 5 |
require_once __DIR__ . '/composer' . '/autoload_real.php';
|
| 6 |
|
| 7 |
+
return ComposerAutoloaderInit4c894ee8dfd808decba258ad196d16fb::getLoader();
|
vendor/autoload_52.php
CHANGED
|
@@ -4,4 +4,4 @@
|
|
| 4 |
|
| 5 |
require_once dirname(__FILE__) . '/composer'.'/autoload_real_52.php';
|
| 6 |
|
| 7 |
-
return
|
| 4 |
|
| 5 |
require_once dirname(__FILE__) . '/composer'.'/autoload_real_52.php';
|
| 6 |
|
| 7 |
+
return ComposerAutoloaderInit6a6b309ff98feaf257958011028a5c2e::getLoader();
|
vendor/codeinwp/themeisle-sdk/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,44 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
## [3.1.8](https://github.com/Codeinwp/themeisle-sdk/compare/v3.1.7...v3.1.8) (2019-11-18)
|
| 2 |
|
| 3 |
|
| 1 |
+
##### [Version 3.2.8](https://github.com/Codeinwp/themeisle-sdk/compare/v3.2.7...v3.2.8) (2020-03-24)
|
| 2 |
+
|
| 3 |
+
* change license handler method access
|
| 4 |
+
|
| 5 |
+
##### [Version 3.2.7](https://github.com/Codeinwp/themeisle-sdk/compare/v3.2.6...v3.2.7) (2020-03-24)
|
| 6 |
+
|
| 7 |
+
* fix callback for license processing hook
|
| 8 |
+
|
| 9 |
+
##### [Version 3.2.6](https://github.com/Codeinwp/themeisle-sdk/compare/v3.2.5...v3.2.6) (2020-03-23)
|
| 10 |
+
|
| 11 |
+
* Fix notice on license deactivation
|
| 12 |
+
|
| 13 |
+
##### [Version 3.2.5](https://github.com/Codeinwp/themeisle-sdk/compare/v3.2.4...v3.2.5) (2020-03-23)
|
| 14 |
+
|
| 15 |
+
* always load notification manager last
|
| 16 |
+
|
| 17 |
+
##### [Version 3.2.4](https://github.com/Codeinwp/themeisle-sdk/compare/v3.2.3...v3.2.4) (2020-03-21)
|
| 18 |
+
|
| 19 |
+
* Cast version response to array for icons
|
| 20 |
+
|
| 21 |
+
##### [Version 3.2.3](https://github.com/Codeinwp/themeisle-sdk/compare/v3.2.2...v3.2.3) (2020-03-21)
|
| 22 |
+
|
| 23 |
+
* use product slug instead of the one from api
|
| 24 |
+
|
| 25 |
+
##### [Version 3.2.2](https://github.com/Codeinwp/themeisle-sdk/compare/v3.2.1...v3.2.2) (2020-03-13)
|
| 26 |
+
|
| 27 |
+
* improve notice dismiss mechanism
|
| 28 |
+
|
| 29 |
+
##### [Version 3.2.1](https://github.com/Codeinwp/themeisle-sdk/compare/v3.2.0...v3.2.1) (2020-03-05)
|
| 30 |
+
|
| 31 |
+
Fix rollback call for private products
|
| 32 |
+
|
| 33 |
+
#### [Version 3.2.0](https://github.com/Codeinwp/themeisle-sdk/compare/v3.1.9...v3.2.0) (2020-03-04)
|
| 34 |
+
|
| 35 |
+
* adds license activation/deactivation handlers for wp cli
|
| 36 |
+
* adds compatibility with the newest license API
|
| 37 |
+
|
| 38 |
+
##### [Version 3.1.9](https://github.com/Codeinwp/themeisle-sdk/compare/v3.1.8...v3.1.9) (2020-02-24)
|
| 39 |
+
|
| 40 |
+
* Add integration with GitHub actions
|
| 41 |
+
|
| 42 |
## [3.1.8](https://github.com/Codeinwp/themeisle-sdk/compare/v3.1.7...v3.1.8) (2019-11-18)
|
| 43 |
|
| 44 |
|
vendor/codeinwp/themeisle-sdk/load.php
CHANGED
|
@@ -14,7 +14,7 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
| 14 |
return;
|
| 15 |
}
|
| 16 |
// Current SDK version and path.
|
| 17 |
-
$themeisle_sdk_version = '3.
|
| 18 |
$themeisle_sdk_path = dirname( __FILE__ );
|
| 19 |
|
| 20 |
global $themeisle_sdk_max_version;
|
| 14 |
return;
|
| 15 |
}
|
| 16 |
// Current SDK version and path.
|
| 17 |
+
$themeisle_sdk_version = '3.2.8';
|
| 18 |
$themeisle_sdk_path = dirname( __FILE__ );
|
| 19 |
|
| 20 |
global $themeisle_sdk_max_version;
|
vendor/codeinwp/themeisle-sdk/src/Loader.php
CHANGED
|
@@ -51,11 +51,11 @@ final class Loader {
|
|
| 51 |
'uninstall_feedback',
|
| 52 |
'licenser',
|
| 53 |
'endpoint',
|
| 54 |
-
'notification',
|
| 55 |
'logger',
|
| 56 |
'translate',
|
| 57 |
'review',
|
| 58 |
'recommendation',
|
|
|
|
| 59 |
|
| 60 |
];
|
| 61 |
|
|
@@ -75,6 +75,28 @@ final class Loader {
|
|
| 75 |
}
|
| 76 |
}
|
| 77 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 78 |
/**
|
| 79 |
* Register product into SDK.
|
| 80 |
*
|
| 51 |
'uninstall_feedback',
|
| 52 |
'licenser',
|
| 53 |
'endpoint',
|
|
|
|
| 54 |
'logger',
|
| 55 |
'translate',
|
| 56 |
'review',
|
| 57 |
'recommendation',
|
| 58 |
+
'notification',
|
| 59 |
|
| 60 |
];
|
| 61 |
|
| 75 |
}
|
| 76 |
}
|
| 77 |
|
| 78 |
+
/**
|
| 79 |
+
* Get cache token used in API requests.
|
| 80 |
+
*
|
| 81 |
+
* @return string Cache token.
|
| 82 |
+
*/
|
| 83 |
+
public static function get_cache_token() {
|
| 84 |
+
$cache_token = get_transient( 'themeisle_sdk_cache_token' );
|
| 85 |
+
if ( false === $cache_token ) {
|
| 86 |
+
$cache_token = wp_generate_password( 6, false );
|
| 87 |
+
set_transient( $cache_token, WEEK_IN_SECONDS );
|
| 88 |
+
}
|
| 89 |
+
|
| 90 |
+
return $cache_token;
|
| 91 |
+
}
|
| 92 |
+
|
| 93 |
+
/**
|
| 94 |
+
* Clear cache token.
|
| 95 |
+
*/
|
| 96 |
+
public static function clear_cache_token() {
|
| 97 |
+
delete_transient( 'themeisle_sdk_cache_token' );
|
| 98 |
+
}
|
| 99 |
+
|
| 100 |
/**
|
| 101 |
* Register product into SDK.
|
| 102 |
*
|
vendor/codeinwp/themeisle-sdk/src/Modules/Licenser.php
CHANGED
|
@@ -13,6 +13,7 @@ namespace ThemeisleSDK\Modules;
|
|
| 13 |
|
| 14 |
// Exit if accessed directly.
|
| 15 |
use ThemeisleSDK\Common\Abstract_Module;
|
|
|
|
| 16 |
use ThemeisleSDK\Product;
|
| 17 |
|
| 18 |
if ( ! defined( 'ABSPATH' ) ) {
|
|
@@ -55,6 +56,13 @@ class Licenser extends Abstract_Module {
|
|
| 55 |
*/
|
| 56 |
private $product_key;
|
| 57 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 58 |
/**
|
| 59 |
* Disable wporg updates for premium products.
|
| 60 |
*
|
|
@@ -233,10 +241,11 @@ class Licenser extends Abstract_Module {
|
|
| 233 |
}
|
| 234 |
|
| 235 |
if ( apply_filters( $this->product->get_key() . '_hide_license_notices', false ) ) {
|
| 236 |
-
return;
|
| 237 |
}
|
|
|
|
| 238 |
$status = $this->get_license_status();
|
| 239 |
-
$no_activations_string = apply_filters( $this->product->get_key() . '_lc_no_activations_string', 'No activations left for %s
|
| 240 |
$no_valid_string = apply_filters( $this->product->get_key() . '_lc_no_valid_string', 'In order to benefit from updates and support for %s, please add your license code from your <a href="%s" target="_blank">purchase history</a> and validate it <a href="%s">here</a>. ' );
|
| 241 |
|
| 242 |
// No activations left for this license.
|
|
@@ -285,7 +294,7 @@ class Licenser extends Abstract_Module {
|
|
| 285 |
return false;
|
| 286 |
}
|
| 287 |
|
| 288 |
-
return isset( $license_data->
|
| 289 |
|
| 290 |
}
|
| 291 |
|
|
@@ -345,40 +354,26 @@ class Licenser extends Abstract_Module {
|
|
| 345 |
*/
|
| 346 |
public function check_license() {
|
| 347 |
$status = $this->get_license_status();
|
| 348 |
-
if ( 'not_active'
|
| 349 |
$license_data = new \stdClass();
|
| 350 |
$license_data->license = 'not_active';
|
| 351 |
|
| 352 |
return $license_data;
|
| 353 |
}
|
| 354 |
-
$license
|
| 355 |
-
|
| 356 |
-
|
| 357 |
-
|
| 358 |
-
'item_name' => rawurlencode( $this->product->get_name() ),
|
| 359 |
-
'url' => rawurlencode( home_url() ),
|
| 360 |
-
);
|
| 361 |
-
// Call the custom API.
|
| 362 |
-
$response = wp_remote_get(
|
| 363 |
-
add_query_arg( $api_params, $this->get_api_url() ),
|
| 364 |
-
array(
|
| 365 |
-
'timeout' => 15,
|
| 366 |
-
'sslverify' => false,
|
| 367 |
-
)
|
| 368 |
-
);
|
| 369 |
if ( is_wp_error( $response ) ) {
|
| 370 |
$license_data = new \stdClass();
|
| 371 |
$license_data->license = 'valid';
|
| 372 |
-
|
| 373 |
} else {
|
| 374 |
-
$license_data =
|
| 375 |
-
if ( ! is_object( $license_data ) ) {
|
| 376 |
-
$license_data = new \stdClass();
|
| 377 |
-
$license_data->license = 'valid';
|
| 378 |
-
}
|
| 379 |
}
|
|
|
|
| 380 |
$license_old = get_option( $this->product->get_key() . '_license_data', '' );
|
| 381 |
-
|
|
|
|
| 382 |
$this->increment_failed_checks();
|
| 383 |
} else {
|
| 384 |
$this->reset_failed_checks();
|
|
@@ -388,22 +383,10 @@ class Licenser extends Abstract_Module {
|
|
| 388 |
return $license_old;
|
| 389 |
}
|
| 390 |
|
| 391 |
-
if ( isset( $license_old->hide_valid ) ) {
|
| 392 |
-
$license_data->hide_valid = true;
|
| 393 |
-
}
|
| 394 |
-
|
| 395 |
if ( ! isset( $license_data->key ) ) {
|
| 396 |
$license_data->key = isset( $license_old->key ) ? $license_old->key : '';
|
| 397 |
}
|
| 398 |
|
| 399 |
-
if ( isset( $license_old->hide_expiration ) ) {
|
| 400 |
-
$license_data->hide_expiration = true;
|
| 401 |
-
}
|
| 402 |
-
|
| 403 |
-
if ( isset( $license_old->hide_activation ) ) {
|
| 404 |
-
$license_data->hide_activation = true;
|
| 405 |
-
}
|
| 406 |
-
|
| 407 |
return $license_data;
|
| 408 |
|
| 409 |
}
|
|
@@ -445,43 +428,65 @@ class Licenser extends Abstract_Module {
|
|
| 445 |
}
|
| 446 |
|
| 447 |
/**
|
| 448 |
-
*
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 449 |
*/
|
| 450 |
-
function
|
| 451 |
-
|
| 452 |
-
|
| 453 |
-
return;
|
| 454 |
}
|
| 455 |
$status = $this->get_license_status();
|
| 456 |
-
|
| 457 |
-
|
| 458 |
-
|
| 459 |
-
'license' => $license,
|
| 460 |
-
'item_name' => rawurlencode( $this->product->get_name() ),
|
| 461 |
-
'url' => rawurlencode( home_url() ),
|
| 462 |
-
);
|
| 463 |
-
if ( 'valid' != $status ) {
|
| 464 |
-
// data to send in our API request.
|
| 465 |
-
$api_params['edd_action'] = 'activate_license';
|
| 466 |
-
} else {
|
| 467 |
-
$api_params['edd_action'] = 'deactivate_license';
|
| 468 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 469 |
// Call the custom API.
|
| 470 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 471 |
// make sure the response came back okay.
|
| 472 |
if ( is_wp_error( $response ) ) {
|
| 473 |
-
|
| 474 |
-
|
| 475 |
-
return;
|
| 476 |
}
|
| 477 |
|
| 478 |
$license_data = json_decode( wp_remote_retrieve_body( $response ) );
|
| 479 |
|
| 480 |
if ( ! is_object( $license_data ) ) {
|
| 481 |
-
|
| 482 |
-
|
| 483 |
-
return;
|
| 484 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 485 |
if ( ! isset( $license_data->license ) ) {
|
| 486 |
$license_data->license = 'invalid';
|
| 487 |
}
|
|
@@ -489,26 +494,50 @@ class Licenser extends Abstract_Module {
|
|
| 489 |
if ( ! isset( $license_data->key ) ) {
|
| 490 |
$license_data->key = $license;
|
| 491 |
}
|
| 492 |
-
if ( 'valid'
|
| 493 |
$this->reset_failed_checks();
|
| 494 |
}
|
| 495 |
|
| 496 |
-
|
| 497 |
-
|
| 498 |
-
if ( 'deactivate_license' === $api_params['edd_action'] ) {
|
| 499 |
|
| 500 |
delete_option( $this->product->get_key() . '_license_data' );
|
| 501 |
delete_option( $this->product->get_key() . '_license_plan' );
|
| 502 |
delete_transient( $this->product->get_key() . '_license_data' );
|
| 503 |
|
| 504 |
-
return;
|
| 505 |
}
|
| 506 |
if ( isset( $license_data->plan ) ) {
|
| 507 |
update_option( $this->product->get_key() . '_license_plan', $license_data->plan );
|
| 508 |
}
|
| 509 |
update_option( $this->product->get_key() . '_license_data', $license_data );
|
| 510 |
set_transient( $this->product->get_key() . '_license_data', $license_data, 12 * HOUR_IN_SECONDS );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 511 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 512 |
}
|
| 513 |
|
| 514 |
/**
|
|
@@ -607,17 +636,16 @@ class Licenser extends Abstract_Module {
|
|
| 607 |
* @return bool|mixed Update api response.
|
| 608 |
*/
|
| 609 |
private function get_version_data() {
|
| 610 |
-
|
| 611 |
-
|
| 612 |
-
|
| 613 |
-
|
| 614 |
-
|
| 615 |
-
|
| 616 |
-
|
| 617 |
-
|
| 618 |
-
|
| 619 |
-
|
| 620 |
-
add_query_arg( $api_params, $this->get_api_url() ),
|
| 621 |
array(
|
| 622 |
'timeout' => 15,
|
| 623 |
'sslverify' => false,
|
|
@@ -630,7 +658,15 @@ class Licenser extends Abstract_Module {
|
|
| 630 |
if ( ! is_object( $update_data ) ) {
|
| 631 |
return false;
|
| 632 |
}
|
| 633 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 634 |
return $update_data;
|
| 635 |
}
|
| 636 |
|
|
@@ -660,7 +696,6 @@ class Licenser extends Abstract_Module {
|
|
| 660 |
$_transient_data->response[ $this->product->get_slug() . '/' . $this->product->get_file() ] = $api_response;
|
| 661 |
}
|
| 662 |
}
|
| 663 |
-
|
| 664 |
return $_transient_data;
|
| 665 |
}
|
| 666 |
|
|
@@ -694,7 +729,7 @@ class Licenser extends Abstract_Module {
|
|
| 694 |
* @return object $_data
|
| 695 |
*/
|
| 696 |
public function plugins_api_filter( $_data, $_action = '', $_args = null ) {
|
| 697 |
-
if ( ( 'plugin_information'
|
| 698 |
return $_data;
|
| 699 |
}
|
| 700 |
$api_response = $this->api_request();
|
|
@@ -757,6 +792,18 @@ class Licenser extends Abstract_Module {
|
|
| 757 |
$this->register_license_hooks();
|
| 758 |
}
|
| 759 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 760 |
if ( $this->product->is_plugin() ) {
|
| 761 |
add_filter(
|
| 762 |
'pre_set_site_transient_update_plugins',
|
|
@@ -785,12 +832,133 @@ class Licenser extends Abstract_Module {
|
|
| 785 |
return $this;
|
| 786 |
}
|
| 787 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 788 |
/**
|
| 789 |
* Register license fields for the products.
|
| 790 |
*/
|
| 791 |
public function register_license_hooks() {
|
| 792 |
add_action( 'admin_init', array( $this, 'register_settings' ) );
|
| 793 |
-
add_action( 'admin_init', array( $this, '
|
| 794 |
add_action( 'admin_init', array( $this, 'product_valid' ), 99999999 );
|
| 795 |
add_action( 'admin_notices', array( $this, 'show_notice' ) );
|
| 796 |
add_filter( $this->product->get_key() . '_license_status', array( $this, 'get_license_status' ) );
|
| 13 |
|
| 14 |
// Exit if accessed directly.
|
| 15 |
use ThemeisleSDK\Common\Abstract_Module;
|
| 16 |
+
use ThemeisleSDK\Loader;
|
| 17 |
use ThemeisleSDK\Product;
|
| 18 |
|
| 19 |
if ( ! defined( 'ABSPATH' ) ) {
|
| 56 |
*/
|
| 57 |
private $product_key;
|
| 58 |
|
| 59 |
+
/**
|
| 60 |
+
* Holds local license object.
|
| 61 |
+
*
|
| 62 |
+
* @var null Local license object.
|
| 63 |
+
*/
|
| 64 |
+
private $license_local = null;
|
| 65 |
+
|
| 66 |
/**
|
| 67 |
* Disable wporg updates for premium products.
|
| 68 |
*
|
| 241 |
}
|
| 242 |
|
| 243 |
if ( apply_filters( $this->product->get_key() . '_hide_license_notices', false ) ) {
|
| 244 |
+
return false;
|
| 245 |
}
|
| 246 |
+
|
| 247 |
$status = $this->get_license_status();
|
| 248 |
+
$no_activations_string = apply_filters( $this->product->get_key() . '_lc_no_activations_string', 'No more activations left for %s. You need to upgrade your plan in order to use %s on more websites. If you need assistance, please get in touch with %s staff.' );
|
| 249 |
$no_valid_string = apply_filters( $this->product->get_key() . '_lc_no_valid_string', 'In order to benefit from updates and support for %s, please add your license code from your <a href="%s" target="_blank">purchase history</a> and validate it <a href="%s">here</a>. ' );
|
| 250 |
|
| 251 |
// No activations left for this license.
|
| 294 |
return false;
|
| 295 |
}
|
| 296 |
|
| 297 |
+
return isset( $license_data->license ) ? ( 'no_activations_left' == $license_data->license ) : false;
|
| 298 |
|
| 299 |
}
|
| 300 |
|
| 354 |
*/
|
| 355 |
public function check_license() {
|
| 356 |
$status = $this->get_license_status();
|
| 357 |
+
if ( 'not_active' === $status ) {
|
| 358 |
$license_data = new \stdClass();
|
| 359 |
$license_data->license = 'not_active';
|
| 360 |
|
| 361 |
return $license_data;
|
| 362 |
}
|
| 363 |
+
$license = trim( $this->license_key );
|
| 364 |
+
|
| 365 |
+
$response = $this->do_license_process( $license, 'check' );
|
| 366 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 367 |
if ( is_wp_error( $response ) ) {
|
| 368 |
$license_data = new \stdClass();
|
| 369 |
$license_data->license = 'valid';
|
|
|
|
| 370 |
} else {
|
| 371 |
+
$license_data = $response;
|
|
|
|
|
|
|
|
|
|
|
|
|
| 372 |
}
|
| 373 |
+
|
| 374 |
$license_old = get_option( $this->product->get_key() . '_license_data', '' );
|
| 375 |
+
|
| 376 |
+
if ( 'valid' === $license_old->license && ( $license_data->license !== $license_old->license ) ) {
|
| 377 |
$this->increment_failed_checks();
|
| 378 |
} else {
|
| 379 |
$this->reset_failed_checks();
|
| 383 |
return $license_old;
|
| 384 |
}
|
| 385 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 386 |
if ( ! isset( $license_data->key ) ) {
|
| 387 |
$license_data->key = isset( $license_old->key ) ? $license_old->key : '';
|
| 388 |
}
|
| 389 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 390 |
return $license_data;
|
| 391 |
|
| 392 |
}
|
| 428 |
}
|
| 429 |
|
| 430 |
/**
|
| 431 |
+
* Do license activation/deactivation.
|
| 432 |
+
*
|
| 433 |
+
* @param string $license License key.
|
| 434 |
+
* @param string $action What do to.
|
| 435 |
+
*
|
| 436 |
+
* @return bool|\WP_Error
|
| 437 |
*/
|
| 438 |
+
public function do_license_process( $license, $action = 'toggle' ) {
|
| 439 |
+
if ( strlen( $license ) < 10 ) {
|
| 440 |
+
return new \WP_Error( 'themeisle-license-invalid-format', 'Invalid license.' );
|
|
|
|
| 441 |
}
|
| 442 |
$status = $this->get_license_status();
|
| 443 |
+
|
| 444 |
+
if ( 'valid' === $status && 'activate' === $action ) {
|
| 445 |
+
return new \WP_Error( 'themeisle-license-already-active', 'License is already active.' );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 446 |
}
|
| 447 |
+
if ( 'valid' !== $status && 'deactivate' === $action ) {
|
| 448 |
+
return new \WP_Error( 'themeisle-license-already-deactivate', 'License not active.' );
|
| 449 |
+
}
|
| 450 |
+
|
| 451 |
+
if ( 'toggle' === $action ) {
|
| 452 |
+
$action = ( 'valid' !== $status ? ( 'activate' ) : ( 'deactivate' ) );
|
| 453 |
+
}
|
| 454 |
+
|
| 455 |
// Call the custom API.
|
| 456 |
+
if ( 'check' === $action ) {
|
| 457 |
+
$response = wp_remote_get( sprintf( '%slicense/check/%s/%s/%s/%s', Product::API_URL, rawurlencode( $this->product->get_name() ), $license, rawurlencode( home_url() ), Loader::get_cache_token() ) );
|
| 458 |
+
} else {
|
| 459 |
+
$response = wp_remote_post(
|
| 460 |
+
sprintf( '%slicense/%s/%s/%s', Product::API_URL, $action, rawurlencode( $this->product->get_name() ), $license ),
|
| 461 |
+
array(
|
| 462 |
+
'body' => wp_json_encode(
|
| 463 |
+
array(
|
| 464 |
+
'url' => rawurlencode( home_url() ),
|
| 465 |
+
)
|
| 466 |
+
),
|
| 467 |
+
'headers' => array(
|
| 468 |
+
'Content-Type' => 'application/json',
|
| 469 |
+
),
|
| 470 |
+
)
|
| 471 |
+
);
|
| 472 |
+
}
|
| 473 |
+
|
| 474 |
// make sure the response came back okay.
|
| 475 |
if ( is_wp_error( $response ) ) {
|
| 476 |
+
return new \WP_Error( 'themeisle-license-500', sprintf( 'ERROR: Failed to connect to the license service. Please try again later. Reason: %s', $response->get_error_message() ) );
|
|
|
|
|
|
|
| 477 |
}
|
| 478 |
|
| 479 |
$license_data = json_decode( wp_remote_retrieve_body( $response ) );
|
| 480 |
|
| 481 |
if ( ! is_object( $license_data ) ) {
|
| 482 |
+
return new \WP_Error( 'themeisle-license-404', 'ERROR: Failed to validate license. Please try again in one minute.' );
|
|
|
|
|
|
|
| 483 |
}
|
| 484 |
+
if ( 'check' === $action ) {
|
| 485 |
+
return $license_data;
|
| 486 |
+
}
|
| 487 |
+
|
| 488 |
+
Loader::clear_cache_token();
|
| 489 |
+
|
| 490 |
if ( ! isset( $license_data->license ) ) {
|
| 491 |
$license_data->license = 'invalid';
|
| 492 |
}
|
| 494 |
if ( ! isset( $license_data->key ) ) {
|
| 495 |
$license_data->key = $license;
|
| 496 |
}
|
| 497 |
+
if ( 'valid' === $license_data->license ) {
|
| 498 |
$this->reset_failed_checks();
|
| 499 |
}
|
| 500 |
|
| 501 |
+
if ( 'deactivate' === $action ) {
|
|
|
|
|
|
|
| 502 |
|
| 503 |
delete_option( $this->product->get_key() . '_license_data' );
|
| 504 |
delete_option( $this->product->get_key() . '_license_plan' );
|
| 505 |
delete_transient( $this->product->get_key() . '_license_data' );
|
| 506 |
|
| 507 |
+
return true;
|
| 508 |
}
|
| 509 |
if ( isset( $license_data->plan ) ) {
|
| 510 |
update_option( $this->product->get_key() . '_license_plan', $license_data->plan );
|
| 511 |
}
|
| 512 |
update_option( $this->product->get_key() . '_license_data', $license_data );
|
| 513 |
set_transient( $this->product->get_key() . '_license_data', $license_data, 12 * HOUR_IN_SECONDS );
|
| 514 |
+
if ( 'activate' === $action && 'valid' !== $license_data->license ) {
|
| 515 |
+
return new \WP_Error( 'themeisle-license-invalid', 'ERROR: Invalid license provided.' );
|
| 516 |
+
}
|
| 517 |
+
|
| 518 |
+
return true;
|
| 519 |
+
}
|
| 520 |
+
|
| 521 |
+
/**
|
| 522 |
+
* Activate the license remotely.
|
| 523 |
+
*/
|
| 524 |
+
function process_license() {
|
| 525 |
+
// listen for our activate button to be clicked.
|
| 526 |
+
if ( ! isset( $_POST[ $this->product->get_key() . '_btn_trigger' ] ) ) {
|
| 527 |
+
return;
|
| 528 |
+
}
|
| 529 |
+
$license = $_POST[ $this->product->get_key() . '_license' ];
|
| 530 |
+
$response = $this->do_license_process( $license, 'toggle' );
|
| 531 |
+
if ( is_wp_error( $response ) ) {
|
| 532 |
+
$this->set_error( $response->get_error_message() );
|
| 533 |
|
| 534 |
+
return;
|
| 535 |
+
}
|
| 536 |
+
if ( true === $response ) {
|
| 537 |
+
$this->set_error( '' );
|
| 538 |
+
}
|
| 539 |
+
|
| 540 |
+
return;
|
| 541 |
}
|
| 542 |
|
| 543 |
/**
|
| 636 |
* @return bool|mixed Update api response.
|
| 637 |
*/
|
| 638 |
private function get_version_data() {
|
| 639 |
+
|
| 640 |
+
$response = wp_remote_get(
|
| 641 |
+
sprintf(
|
| 642 |
+
'%slicense/version/%s/%s/%s/%s',
|
| 643 |
+
Product::API_URL,
|
| 644 |
+
rawurlencode( $this->product->get_name() ),
|
| 645 |
+
( empty( $this->license_key ) ? 'free' : $this->license_key ),
|
| 646 |
+
$this->product->get_version(),
|
| 647 |
+
rawurlencode( home_url() )
|
| 648 |
+
),
|
|
|
|
| 649 |
array(
|
| 650 |
'timeout' => 15,
|
| 651 |
'sslverify' => false,
|
| 658 |
if ( ! is_object( $update_data ) ) {
|
| 659 |
return false;
|
| 660 |
}
|
| 661 |
+
if ( isset( $update_data->slug ) ) {
|
| 662 |
+
$update_data->slug = $this->product->get_slug();
|
| 663 |
+
}
|
| 664 |
+
if ( isset( $update_data->icons ) ) {
|
| 665 |
+
$update_data->icons = (array) $update_data->icons;
|
| 666 |
+
}
|
| 667 |
+
if ( isset( $update_data->banners ) ) {
|
| 668 |
+
$update_data->banners = (array) $update_data->banners;
|
| 669 |
+
}
|
| 670 |
return $update_data;
|
| 671 |
}
|
| 672 |
|
| 696 |
$_transient_data->response[ $this->product->get_slug() . '/' . $this->product->get_file() ] = $api_response;
|
| 697 |
}
|
| 698 |
}
|
|
|
|
| 699 |
return $_transient_data;
|
| 700 |
}
|
| 701 |
|
| 729 |
* @return object $_data
|
| 730 |
*/
|
| 731 |
public function plugins_api_filter( $_data, $_action = '', $_args = null ) {
|
| 732 |
+
if ( ( 'plugin_information' !== $_action ) || ! isset( $_args->slug ) || ( $_args->slug !== $this->product->get_slug() ) ) {
|
| 733 |
return $_data;
|
| 734 |
}
|
| 735 |
$api_response = $this->api_request();
|
| 792 |
$this->register_license_hooks();
|
| 793 |
}
|
| 794 |
|
| 795 |
+
$namespace = apply_filters( 'themesle_sdk_namespace_' . md5( $product->get_basefile() ), false );
|
| 796 |
+
|
| 797 |
+
if ( false !== $namespace ) {
|
| 798 |
+
add_filter( 'themeisle_sdk_license_process_' . $namespace, [ $this, 'do_license_process' ], 10, 2 );
|
| 799 |
+
if ( defined( 'WP_CLI' ) && WP_CLI ) {
|
| 800 |
+
\WP_CLI::add_command( $namespace . ' activate', [ $this, 'cli_activate' ] );
|
| 801 |
+
\WP_CLI::add_command( $namespace . ' deactivate', [ $this, 'cli_deactivate' ] );
|
| 802 |
+
\WP_CLI::add_command( $namespace . ' is-active', [ $this, 'cli_is_active' ] );
|
| 803 |
+
}
|
| 804 |
+
}
|
| 805 |
+
|
| 806 |
+
add_action( 'admin_head', [ $this, 'auto_activate' ] );
|
| 807 |
if ( $this->product->is_plugin() ) {
|
| 808 |
add_filter(
|
| 809 |
'pre_set_site_transient_update_plugins',
|
| 832 |
return $this;
|
| 833 |
}
|
| 834 |
|
| 835 |
+
/**
|
| 836 |
+
* Run license activation on plugin activate.
|
| 837 |
+
*/
|
| 838 |
+
public function auto_activate() {
|
| 839 |
+
if ( ! current_user_can( 'switch_themes' ) ) {
|
| 840 |
+
return;
|
| 841 |
+
}
|
| 842 |
+
$status = $this->get_license_status();
|
| 843 |
+
if ( 'not_active' !== $status ) {
|
| 844 |
+
return;
|
| 845 |
+
}
|
| 846 |
+
|
| 847 |
+
$license_file = dirname( $this->product->get_basefile() ) . '/license.json';
|
| 848 |
+
|
| 849 |
+
global $wp_filesystem;
|
| 850 |
+
if ( ! is_file( $license_file ) ) {
|
| 851 |
+
return;
|
| 852 |
+
}
|
| 853 |
+
|
| 854 |
+
require_once( ABSPATH . '/wp-admin/includes/file.php' );
|
| 855 |
+
\WP_Filesystem();
|
| 856 |
+
$content = json_decode( $wp_filesystem->get_contents( $license_file ) );
|
| 857 |
+
if ( ! is_object( $content ) ) {
|
| 858 |
+
return;
|
| 859 |
+
}
|
| 860 |
+
if ( ! isset( $content->key ) ) {
|
| 861 |
+
return;
|
| 862 |
+
}
|
| 863 |
+
$this->license_local = $content;
|
| 864 |
+
$lock_key = $this->product->get_key() . '_autoactivated';
|
| 865 |
+
|
| 866 |
+
if ( 'yes' === get_option( $lock_key, '' ) ) {
|
| 867 |
+
return;
|
| 868 |
+
}
|
| 869 |
+
$response = $this->do_license_process( $content->key, 'activate' );
|
| 870 |
+
|
| 871 |
+
update_option( $lock_key, 'yes' );
|
| 872 |
+
|
| 873 |
+
if ( apply_filters( $this->product->get_key() . '_hide_license_notices', false ) ) {
|
| 874 |
+
return;
|
| 875 |
+
}
|
| 876 |
+
|
| 877 |
+
if ( true === $response ) {
|
| 878 |
+
add_action( 'admin_notices', [ $this, 'autoactivate_notice' ] );
|
| 879 |
+
}
|
| 880 |
+
}
|
| 881 |
+
|
| 882 |
+
/**
|
| 883 |
+
* Show auto-activate notice.
|
| 884 |
+
*/
|
| 885 |
+
public function autoactivate_notice() {
|
| 886 |
+
?>
|
| 887 |
+
<div class="notice notice-success is-dismissible">
|
| 888 |
+
<p><?php echo sprintf( '<strong>%s</strong> has been successfully activated using <strong>%s</strong> license !', $this->product->get_name(), str_repeat( '*', 20 ) . substr( $this->license_local->key, - 10 ) ); ?></p>
|
| 889 |
+
</div>
|
| 890 |
+
<?php
|
| 891 |
+
}
|
| 892 |
+
|
| 893 |
+
/**
|
| 894 |
+
* Activate product license on this site.
|
| 895 |
+
*
|
| 896 |
+
* ## OPTIONS
|
| 897 |
+
*
|
| 898 |
+
* @param array $args Command args.
|
| 899 |
+
*
|
| 900 |
+
* [<license-key>]
|
| 901 |
+
* : Product license key.
|
| 902 |
+
*/
|
| 903 |
+
public function cli_activate( $args ) {
|
| 904 |
+
$license_key = isset( $args[0] ) ? trim( $args[0] ) : '';
|
| 905 |
+
$response = $this->do_license_process( $license_key, 'activate' );
|
| 906 |
+
if ( true !== $response ) {
|
| 907 |
+
\WP_CLI::error( $response->get_error_message() );
|
| 908 |
+
|
| 909 |
+
return;
|
| 910 |
+
}
|
| 911 |
+
|
| 912 |
+
\WP_CLI::success( 'Product successfully activated.' );
|
| 913 |
+
}
|
| 914 |
+
|
| 915 |
+
/**
|
| 916 |
+
* Deactivate product license on this site.
|
| 917 |
+
*
|
| 918 |
+
* @param array $args Command args.
|
| 919 |
+
*
|
| 920 |
+
* ## OPTIONS
|
| 921 |
+
*
|
| 922 |
+
* [<license-key>]
|
| 923 |
+
* : Product license key.
|
| 924 |
+
*/
|
| 925 |
+
public function cli_deactivate( $args ) {
|
| 926 |
+
$license_key = isset( $args[0] ) ? trim( $args[0] ) : '';
|
| 927 |
+
$response = $this->do_license_process( $license_key, 'deactivate' );
|
| 928 |
+
if ( true !== $response ) {
|
| 929 |
+
\WP_CLI::error( $response->get_error_message() );
|
| 930 |
+
|
| 931 |
+
return;
|
| 932 |
+
}
|
| 933 |
+
|
| 934 |
+
\WP_CLI::success( 'Product successfully deactivated.' );
|
| 935 |
+
}
|
| 936 |
+
|
| 937 |
+
/**
|
| 938 |
+
* Checks if product has license activated.
|
| 939 |
+
*
|
| 940 |
+
* @param array $args Command args.
|
| 941 |
+
*
|
| 942 |
+
* @subcommand is-active
|
| 943 |
+
*/
|
| 944 |
+
public function cli_is_active( $args ) {
|
| 945 |
+
|
| 946 |
+
$status = $this->get_license_status();
|
| 947 |
+
if ( 'valid' === $status ) {
|
| 948 |
+
\WP_CLI::halt( 0 );
|
| 949 |
+
|
| 950 |
+
return;
|
| 951 |
+
}
|
| 952 |
+
|
| 953 |
+
\WP_CLI::halt( 1 );
|
| 954 |
+
}
|
| 955 |
+
|
| 956 |
/**
|
| 957 |
* Register license fields for the products.
|
| 958 |
*/
|
| 959 |
public function register_license_hooks() {
|
| 960 |
add_action( 'admin_init', array( $this, 'register_settings' ) );
|
| 961 |
+
add_action( 'admin_init', array( $this, 'process_license' ) );
|
| 962 |
add_action( 'admin_init', array( $this, 'product_valid' ), 99999999 );
|
| 963 |
add_action( 'admin_notices', array( $this, 'show_notice' ) );
|
| 964 |
add_filter( $this->product->get_key() . '_license_status', array( $this, 'get_license_status' ) );
|
vendor/codeinwp/themeisle-sdk/src/Modules/Notification.php
CHANGED
|
@@ -226,7 +226,7 @@ class Notification extends Abstract_Module {
|
|
| 226 |
/**
|
| 227 |
* Get last notification details.
|
| 228 |
*
|
| 229 |
-
* @return
|
| 230 |
*/
|
| 231 |
private static function get_last_active_notification_timestamp() {
|
| 232 |
$notification = self::get_notifications_metadata();
|
|
@@ -374,6 +374,10 @@ class Notification extends Abstract_Module {
|
|
| 374 |
if ( empty( $id ) ) {
|
| 375 |
wp_send_json( [] );
|
| 376 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
| 377 |
self::set_last_active_notification_timestamp();
|
| 378 |
update_option( $id, $confirm );
|
| 379 |
do_action( $id . '_process_confirm', $confirm );
|
| 226 |
/**
|
| 227 |
* Get last notification details.
|
| 228 |
*
|
| 229 |
+
* @return int Last notification details.
|
| 230 |
*/
|
| 231 |
private static function get_last_active_notification_timestamp() {
|
| 232 |
$notification = self::get_notifications_metadata();
|
| 374 |
if ( empty( $id ) ) {
|
| 375 |
wp_send_json( [] );
|
| 376 |
}
|
| 377 |
+
$ids = wp_list_pluck( self::$notifications, 'id' );
|
| 378 |
+
if ( ! in_array( $id, $ids, true ) ) {
|
| 379 |
+
wp_send_json( [] );
|
| 380 |
+
}
|
| 381 |
self::set_last_active_notification_timestamp();
|
| 382 |
update_option( $id, $confirm );
|
| 383 |
do_action( $id . '_process_confirm', $confirm );
|
vendor/codeinwp/themeisle-sdk/src/Modules/Rollback.php
CHANGED
|
@@ -167,7 +167,7 @@ class Rollback extends Abstract_Module {
|
|
| 167 |
return '';
|
| 168 |
}
|
| 169 |
|
| 170 |
-
return sprintf( '%s
|
| 171 |
}
|
| 172 |
|
| 173 |
/**
|
| 167 |
return '';
|
| 168 |
}
|
| 169 |
|
| 170 |
+
return sprintf( '%slicense/versions/%s/%s/%s/%s', Product::API_URL, rawurlencode( $this->product->get_name() ), $license, urlencode( get_site_url() ), $this->product->get_version() );
|
| 171 |
}
|
| 172 |
|
| 173 |
/**
|
vendor/codeinwp/themeisle-sdk/src/Product.php
CHANGED
|
@@ -106,7 +106,10 @@ class Product {
|
|
| 106 |
* @var string $version The product version.
|
| 107 |
*/
|
| 108 |
private $version;
|
| 109 |
-
|
|
|
|
|
|
|
|
|
|
| 110 |
/**
|
| 111 |
* ThemeIsle_SDK_Product constructor.
|
| 112 |
*
|
| 106 |
* @var string $version The product version.
|
| 107 |
*/
|
| 108 |
private $version;
|
| 109 |
+
/**
|
| 110 |
+
* Root api endpoint.
|
| 111 |
+
*/
|
| 112 |
+
const API_URL = 'https://api.themeisle.com/';
|
| 113 |
/**
|
| 114 |
* ThemeIsle_SDK_Product constructor.
|
| 115 |
*
|
vendor/composer/autoload_real.php
CHANGED
|
@@ -2,7 +2,7 @@
|
|
| 2 |
|
| 3 |
// autoload_real.php @generated by Composer
|
| 4 |
|
| 5 |
-
class
|
| 6 |
{
|
| 7 |
private static $loader;
|
| 8 |
|
|
@@ -19,9 +19,9 @@ class ComposerAutoloaderInit513f5ad9e2869bb6aa9f2d439a1f9960
|
|
| 19 |
return self::$loader;
|
| 20 |
}
|
| 21 |
|
| 22 |
-
spl_autoload_register(array('
|
| 23 |
self::$loader = $loader = new \Composer\Autoload\ClassLoader();
|
| 24 |
-
spl_autoload_unregister(array('
|
| 25 |
|
| 26 |
$map = require __DIR__ . '/autoload_namespaces.php';
|
| 27 |
foreach ($map as $namespace => $path) {
|
|
@@ -42,14 +42,14 @@ class ComposerAutoloaderInit513f5ad9e2869bb6aa9f2d439a1f9960
|
|
| 42 |
|
| 43 |
$includeFiles = require __DIR__ . '/autoload_files.php';
|
| 44 |
foreach ($includeFiles as $fileIdentifier => $file) {
|
| 45 |
-
|
| 46 |
}
|
| 47 |
|
| 48 |
return $loader;
|
| 49 |
}
|
| 50 |
}
|
| 51 |
|
| 52 |
-
function
|
| 53 |
{
|
| 54 |
if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
|
| 55 |
require $file;
|
| 2 |
|
| 3 |
// autoload_real.php @generated by Composer
|
| 4 |
|
| 5 |
+
class ComposerAutoloaderInit4c894ee8dfd808decba258ad196d16fb
|
| 6 |
{
|
| 7 |
private static $loader;
|
| 8 |
|
| 19 |
return self::$loader;
|
| 20 |
}
|
| 21 |
|
| 22 |
+
spl_autoload_register(array('ComposerAutoloaderInit4c894ee8dfd808decba258ad196d16fb', 'loadClassLoader'), true, true);
|
| 23 |
self::$loader = $loader = new \Composer\Autoload\ClassLoader();
|
| 24 |
+
spl_autoload_unregister(array('ComposerAutoloaderInit4c894ee8dfd808decba258ad196d16fb', 'loadClassLoader'));
|
| 25 |
|
| 26 |
$map = require __DIR__ . '/autoload_namespaces.php';
|
| 27 |
foreach ($map as $namespace => $path) {
|
| 42 |
|
| 43 |
$includeFiles = require __DIR__ . '/autoload_files.php';
|
| 44 |
foreach ($includeFiles as $fileIdentifier => $file) {
|
| 45 |
+
composerRequire4c894ee8dfd808decba258ad196d16fb($fileIdentifier, $file);
|
| 46 |
}
|
| 47 |
|
| 48 |
return $loader;
|
| 49 |
}
|
| 50 |
}
|
| 51 |
|
| 52 |
+
function composerRequire4c894ee8dfd808decba258ad196d16fb($fileIdentifier, $file)
|
| 53 |
{
|
| 54 |
if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
|
| 55 |
require $file;
|
vendor/composer/autoload_real_52.php
CHANGED
|
@@ -2,7 +2,7 @@
|
|
| 2 |
|
| 3 |
// autoload_real_52.php generated by xrstf/composer-php52
|
| 4 |
|
| 5 |
-
class
|
| 6 |
private static $loader;
|
| 7 |
|
| 8 |
public static function loadClassLoader($class) {
|
|
@@ -19,9 +19,9 @@ class ComposerAutoloaderInit508bf30e537dc509acef70ec18f0b4d1 {
|
|
| 19 |
return self::$loader;
|
| 20 |
}
|
| 21 |
|
| 22 |
-
spl_autoload_register(array('
|
| 23 |
self::$loader = $loader = new xrstf_Composer52_ClassLoader();
|
| 24 |
-
spl_autoload_unregister(array('
|
| 25 |
|
| 26 |
$vendorDir = dirname(dirname(__FILE__));
|
| 27 |
$baseDir = dirname($vendorDir);
|
| 2 |
|
| 3 |
// autoload_real_52.php generated by xrstf/composer-php52
|
| 4 |
|
| 5 |
+
class ComposerAutoloaderInit6a6b309ff98feaf257958011028a5c2e {
|
| 6 |
private static $loader;
|
| 7 |
|
| 8 |
public static function loadClassLoader($class) {
|
| 19 |
return self::$loader;
|
| 20 |
}
|
| 21 |
|
| 22 |
+
spl_autoload_register(array('ComposerAutoloaderInit6a6b309ff98feaf257958011028a5c2e', 'loadClassLoader'), true /*, true */);
|
| 23 |
self::$loader = $loader = new xrstf_Composer52_ClassLoader();
|
| 24 |
+
spl_autoload_unregister(array('ComposerAutoloaderInit6a6b309ff98feaf257958011028a5c2e', 'loadClassLoader'));
|
| 25 |
|
| 26 |
$vendorDir = dirname(dirname(__FILE__));
|
| 27 |
$baseDir = dirname($vendorDir);
|
vendor/composer/installed.json
CHANGED
|
@@ -34,17 +34,17 @@
|
|
| 34 |
},
|
| 35 |
{
|
| 36 |
"name": "codeinwp/themeisle-sdk",
|
| 37 |
-
"version": "3.
|
| 38 |
-
"version_normalized": "3.
|
| 39 |
"source": {
|
| 40 |
"type": "git",
|
| 41 |
"url": "https://github.com/Codeinwp/themeisle-sdk.git",
|
| 42 |
-
"reference": "
|
| 43 |
},
|
| 44 |
"dist": {
|
| 45 |
"type": "zip",
|
| 46 |
-
"url": "https://api.github.com/repos/Codeinwp/themeisle-sdk/zipball/
|
| 47 |
-
"reference": "
|
| 48 |
"shasum": ""
|
| 49 |
},
|
| 50 |
"require-dev": {
|
|
@@ -52,7 +52,7 @@
|
|
| 52 |
"squizlabs/php_codesniffer": "^3.1",
|
| 53 |
"wp-coding-standards/wpcs": "^1.0.0"
|
| 54 |
},
|
| 55 |
-
"time": "
|
| 56 |
"type": "library",
|
| 57 |
"installation-source": "dist",
|
| 58 |
"notification-url": "https://packagist.org/downloads/",
|
| 34 |
},
|
| 35 |
{
|
| 36 |
"name": "codeinwp/themeisle-sdk",
|
| 37 |
+
"version": "3.2.8",
|
| 38 |
+
"version_normalized": "3.2.8.0",
|
| 39 |
"source": {
|
| 40 |
"type": "git",
|
| 41 |
"url": "https://github.com/Codeinwp/themeisle-sdk.git",
|
| 42 |
+
"reference": "ce152edef1634d7c3ce75ed292efcc7a5f73806e"
|
| 43 |
},
|
| 44 |
"dist": {
|
| 45 |
"type": "zip",
|
| 46 |
+
"url": "https://api.github.com/repos/Codeinwp/themeisle-sdk/zipball/ce152edef1634d7c3ce75ed292efcc7a5f73806e",
|
| 47 |
+
"reference": "ce152edef1634d7c3ce75ed292efcc7a5f73806e",
|
| 48 |
"shasum": ""
|
| 49 |
},
|
| 50 |
"require-dev": {
|
| 52 |
"squizlabs/php_codesniffer": "^3.1",
|
| 53 |
"wp-coding-standards/wpcs": "^1.0.0"
|
| 54 |
},
|
| 55 |
+
"time": "2020-03-24 16:54:54",
|
| 56 |
"type": "library",
|
| 57 |
"installation-source": "dist",
|
| 58 |
"notification-url": "https://packagist.org/downloads/",
|
wp-product-review.php
CHANGED
|
@@ -15,7 +15,7 @@
|
|
| 15 |
* Plugin Name: WP Product Review Lite
|
| 16 |
* Plugin URI: https://themeisle.com/plugins/wp-product-review/
|
| 17 |
* Description: The highest rated and most complete review plugin, now with rich snippets support. Easily turn your basic posts into in-depth reviews.
|
| 18 |
-
* Version: 3.7.
|
| 19 |
* Author: ThemeIsle
|
| 20 |
* Author URI: https://themeisle.com/
|
| 21 |
* Requires at least: 3.5
|
|
@@ -66,7 +66,7 @@ register_deactivation_hook( __FILE__, 'deactivate_wppr' );
|
|
| 66 |
*/
|
| 67 |
function run_wppr() {
|
| 68 |
|
| 69 |
-
define( 'WPPR_LITE_VERSION', '3.7.
|
| 70 |
define( 'WPPR_PATH', dirname( __FILE__ ) );
|
| 71 |
define( 'WPPR_SLUG', 'wppr' );
|
| 72 |
define( 'WPPR_UPSELL_LINK', 'https://themeisle.com/plugins/wp-product-review/' );
|
| 15 |
* Plugin Name: WP Product Review Lite
|
| 16 |
* Plugin URI: https://themeisle.com/plugins/wp-product-review/
|
| 17 |
* Description: The highest rated and most complete review plugin, now with rich snippets support. Easily turn your basic posts into in-depth reviews.
|
| 18 |
+
* Version: 3.7.4
|
| 19 |
* Author: ThemeIsle
|
| 20 |
* Author URI: https://themeisle.com/
|
| 21 |
* Requires at least: 3.5
|
| 66 |
*/
|
| 67 |
function run_wppr() {
|
| 68 |
|
| 69 |
+
define( 'WPPR_LITE_VERSION', '3.7.4' );
|
| 70 |
define( 'WPPR_PATH', dirname( __FILE__ ) );
|
| 71 |
define( 'WPPR_SLUG', 'wppr' );
|
| 72 |
define( 'WPPR_UPSELL_LINK', 'https://themeisle.com/plugins/wp-product-review/' );
|
