Compare commits
1 Commits
fix-5
...
update-dep
Author | SHA1 | Date | |
---|---|---|---|
0ec8eba992 |
138
composer.lock
generated
138
composer.lock
generated
@ -4,7 +4,7 @@
|
||||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
||||
"This file is @generated automatically"
|
||||
],
|
||||
"content-hash": "c27fa56bfcbf860f1ae2a70ef5153e7a",
|
||||
"content-hash": "aa95a1b59acc93d92d18448d166a5f0e",
|
||||
"packages": [
|
||||
{
|
||||
"name": "amphp/amp",
|
||||
@ -97,16 +97,16 @@
|
||||
},
|
||||
{
|
||||
"name": "automattic/jetpack-autoloader",
|
||||
"version": "v5.0.1",
|
||||
"version": "v5.0.6",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/Automattic/jetpack-autoloader.git",
|
||||
"reference": "ba3f5146426367c718312a0da87ebd596ed9cf33"
|
||||
"reference": "5d533e1ff64ed0107b3b46928705fbfa8d3cdb1b"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/Automattic/jetpack-autoloader/zipball/ba3f5146426367c718312a0da87ebd596ed9cf33",
|
||||
"reference": "ba3f5146426367c718312a0da87ebd596ed9cf33",
|
||||
"url": "https://api.github.com/repos/Automattic/jetpack-autoloader/zipball/5d533e1ff64ed0107b3b46928705fbfa8d3cdb1b",
|
||||
"reference": "5d533e1ff64ed0107b3b46928705fbfa8d3cdb1b",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -114,9 +114,10 @@
|
||||
"php": ">=7.2"
|
||||
},
|
||||
"require-dev": {
|
||||
"automattic/jetpack-changelogger": "^5.1.0",
|
||||
"automattic/jetpack-changelogger": "^6.0.3",
|
||||
"automattic/phpunit-select-config": "^1.0.2",
|
||||
"composer/composer": "^2.2",
|
||||
"yoast/phpunit-polyfills": "^1.1.1"
|
||||
"yoast/phpunit-polyfills": "^3.0.0"
|
||||
},
|
||||
"type": "composer-plugin",
|
||||
"extra": {
|
||||
@ -155,9 +156,9 @@
|
||||
"wordpress"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/Automattic/jetpack-autoloader/tree/v5.0.1"
|
||||
"source": "https://github.com/Automattic/jetpack-autoloader/tree/v5.0.6"
|
||||
},
|
||||
"time": "2025-01-20T16:46:39+00:00"
|
||||
"time": "2025-03-31T17:43:05+00:00"
|
||||
},
|
||||
{
|
||||
"name": "berlindb/core",
|
||||
@ -370,16 +371,16 @@
|
||||
},
|
||||
{
|
||||
"name": "guzzlehttp/guzzle",
|
||||
"version": "7.9.2",
|
||||
"version": "7.9.3",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/guzzle/guzzle.git",
|
||||
"reference": "d281ed313b989f213357e3be1a179f02196ac99b"
|
||||
"reference": "7b2f29fe81dc4da0ca0ea7d42107a0845946ea77"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/guzzle/guzzle/zipball/d281ed313b989f213357e3be1a179f02196ac99b",
|
||||
"reference": "d281ed313b989f213357e3be1a179f02196ac99b",
|
||||
"url": "https://api.github.com/repos/guzzle/guzzle/zipball/7b2f29fe81dc4da0ca0ea7d42107a0845946ea77",
|
||||
"reference": "7b2f29fe81dc4da0ca0ea7d42107a0845946ea77",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -476,7 +477,7 @@
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/guzzle/guzzle/issues",
|
||||
"source": "https://github.com/guzzle/guzzle/tree/7.9.2"
|
||||
"source": "https://github.com/guzzle/guzzle/tree/7.9.3"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -492,7 +493,7 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-07-24T11:22:20+00:00"
|
||||
"time": "2025-03-27T13:37:11+00:00"
|
||||
},
|
||||
{
|
||||
"name": "guzzlehttp/promises",
|
||||
@ -575,16 +576,16 @@
|
||||
},
|
||||
{
|
||||
"name": "guzzlehttp/psr7",
|
||||
"version": "2.7.0",
|
||||
"version": "2.7.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/guzzle/psr7.git",
|
||||
"reference": "a70f5c95fb43bc83f07c9c948baa0dc1829bf201"
|
||||
"reference": "c2270caaabe631b3b44c85f99e5a04bbb8060d16"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/guzzle/psr7/zipball/a70f5c95fb43bc83f07c9c948baa0dc1829bf201",
|
||||
"reference": "a70f5c95fb43bc83f07c9c948baa0dc1829bf201",
|
||||
"url": "https://api.github.com/repos/guzzle/psr7/zipball/c2270caaabe631b3b44c85f99e5a04bbb8060d16",
|
||||
"reference": "c2270caaabe631b3b44c85f99e5a04bbb8060d16",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -671,7 +672,7 @@
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/guzzle/psr7/issues",
|
||||
"source": "https://github.com/guzzle/psr7/tree/2.7.0"
|
||||
"source": "https://github.com/guzzle/psr7/tree/2.7.1"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -687,7 +688,7 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-07-18T11:15:46+00:00"
|
||||
"time": "2025-03-27T12:30:47+00:00"
|
||||
},
|
||||
{
|
||||
"name": "hashids/hashids",
|
||||
@ -1151,16 +1152,16 @@
|
||||
},
|
||||
{
|
||||
"name": "myclabs/deep-copy",
|
||||
"version": "1.12.1",
|
||||
"version": "1.13.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/myclabs/DeepCopy.git",
|
||||
"reference": "123267b2c49fbf30d78a7b2d333f6be754b94845"
|
||||
"reference": "024473a478be9df5fdaca2c793f2232fe788e414"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/123267b2c49fbf30d78a7b2d333f6be754b94845",
|
||||
"reference": "123267b2c49fbf30d78a7b2d333f6be754b94845",
|
||||
"url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/024473a478be9df5fdaca2c793f2232fe788e414",
|
||||
"reference": "024473a478be9df5fdaca2c793f2232fe788e414",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -1199,7 +1200,7 @@
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/myclabs/DeepCopy/issues",
|
||||
"source": "https://github.com/myclabs/DeepCopy/tree/1.12.1"
|
||||
"source": "https://github.com/myclabs/DeepCopy/tree/1.13.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -1207,7 +1208,7 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-11-08T17:47:46+00:00"
|
||||
"time": "2025-02-12T12:17:51+00:00"
|
||||
},
|
||||
{
|
||||
"name": "nyholm/psr7",
|
||||
@ -1514,16 +1515,16 @@
|
||||
},
|
||||
{
|
||||
"name": "phpstan/phpdoc-parser",
|
||||
"version": "2.0.0",
|
||||
"version": "2.1.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/phpstan/phpdoc-parser.git",
|
||||
"reference": "c00d78fb6b29658347f9d37ebe104bffadf36299"
|
||||
"reference": "9b30d6fd026b2c132b3985ce6b23bec09ab3aa68"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/c00d78fb6b29658347f9d37ebe104bffadf36299",
|
||||
"reference": "c00d78fb6b29658347f9d37ebe104bffadf36299",
|
||||
"url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/9b30d6fd026b2c132b3985ce6b23bec09ab3aa68",
|
||||
"reference": "9b30d6fd026b2c132b3985ce6b23bec09ab3aa68",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -1555,9 +1556,9 @@
|
||||
"description": "PHPDoc parser with support for nullable, intersection and generic types",
|
||||
"support": {
|
||||
"issues": "https://github.com/phpstan/phpdoc-parser/issues",
|
||||
"source": "https://github.com/phpstan/phpdoc-parser/tree/2.0.0"
|
||||
"source": "https://github.com/phpstan/phpdoc-parser/tree/2.1.0"
|
||||
},
|
||||
"time": "2024-10-13T11:29:49+00:00"
|
||||
"time": "2025-02-19T13:28:12+00:00"
|
||||
},
|
||||
{
|
||||
"name": "psr/cache",
|
||||
@ -4170,12 +4171,12 @@
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/php-stubs/wordpress-stubs.git",
|
||||
"reference": "27f32faacb65a1230d9dac09f1b6c5ce78a6e61a"
|
||||
"reference": "c04f96cb232fab12a3cbcccf5a47767f0665c3f4"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/php-stubs/wordpress-stubs/zipball/27f32faacb65a1230d9dac09f1b6c5ce78a6e61a",
|
||||
"reference": "27f32faacb65a1230d9dac09f1b6c5ce78a6e61a",
|
||||
"url": "https://api.github.com/repos/php-stubs/wordpress-stubs/zipball/c04f96cb232fab12a3cbcccf5a47767f0665c3f4",
|
||||
"reference": "c04f96cb232fab12a3cbcccf5a47767f0665c3f4",
|
||||
"shasum": ""
|
||||
},
|
||||
"require-dev": {
|
||||
@ -4210,7 +4211,7 @@
|
||||
"issues": "https://github.com/php-stubs/wordpress-stubs/issues",
|
||||
"source": "https://github.com/php-stubs/wordpress-stubs/tree/v6.7.2"
|
||||
},
|
||||
"time": "2025-02-05T17:57:54+00:00"
|
||||
"time": "2025-02-12T04:51:58+00:00"
|
||||
},
|
||||
{
|
||||
"name": "phpcompatibility/php-compatibility",
|
||||
@ -4632,16 +4633,16 @@
|
||||
},
|
||||
{
|
||||
"name": "phpstan/phpstan",
|
||||
"version": "2.1.3",
|
||||
"version": "2.1.11",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/phpstan/phpstan.git",
|
||||
"reference": "64ae44e48214f3deebdaeebf2694297a10a2bea9"
|
||||
"reference": "8ca5f79a8f63c49b2359065832a654e1ec70ac30"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/phpstan/phpstan/zipball/64ae44e48214f3deebdaeebf2694297a10a2bea9",
|
||||
"reference": "64ae44e48214f3deebdaeebf2694297a10a2bea9",
|
||||
"url": "https://api.github.com/repos/phpstan/phpstan/zipball/8ca5f79a8f63c49b2359065832a654e1ec70ac30",
|
||||
"reference": "8ca5f79a8f63c49b2359065832a654e1ec70ac30",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -4686,7 +4687,7 @@
|
||||
"type": "github"
|
||||
}
|
||||
],
|
||||
"time": "2025-02-07T15:05:24+00:00"
|
||||
"time": "2025-03-24T13:45:00+00:00"
|
||||
},
|
||||
{
|
||||
"name": "phpunit/php-code-coverage",
|
||||
@ -5112,21 +5113,21 @@
|
||||
},
|
||||
{
|
||||
"name": "rector/rector",
|
||||
"version": "2.0.8",
|
||||
"version": "2.0.11",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/rectorphp/rector.git",
|
||||
"reference": "3c70238bc677eb98866000a05b19a34f12955954"
|
||||
"reference": "059b827cc648929711606e9824337e41e2f9ed92"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/rectorphp/rector/zipball/3c70238bc677eb98866000a05b19a34f12955954",
|
||||
"reference": "3c70238bc677eb98866000a05b19a34f12955954",
|
||||
"url": "https://api.github.com/repos/rectorphp/rector/zipball/059b827cc648929711606e9824337e41e2f9ed92",
|
||||
"reference": "059b827cc648929711606e9824337e41e2f9ed92",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": "^7.4|^8.0",
|
||||
"phpstan/phpstan": "^2.1.2"
|
||||
"phpstan/phpstan": "^2.1.9"
|
||||
},
|
||||
"conflict": {
|
||||
"rector/rector-doctrine": "*",
|
||||
@ -5159,7 +5160,7 @@
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/rectorphp/rector/issues",
|
||||
"source": "https://github.com/rectorphp/rector/tree/2.0.8"
|
||||
"source": "https://github.com/rectorphp/rector/tree/2.0.11"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -5167,7 +5168,7 @@
|
||||
"type": "github"
|
||||
}
|
||||
],
|
||||
"time": "2025-02-06T14:02:49+00:00"
|
||||
"time": "2025-03-28T10:25:17+00:00"
|
||||
},
|
||||
{
|
||||
"name": "sebastian/cli-parser",
|
||||
@ -6134,16 +6135,16 @@
|
||||
},
|
||||
{
|
||||
"name": "squizlabs/php_codesniffer",
|
||||
"version": "3.11.3",
|
||||
"version": "3.12.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/PHPCSStandards/PHP_CodeSniffer.git",
|
||||
"reference": "ba05f990e79cbe69b9f35c8c1ac8dca7eecc3a10"
|
||||
"reference": "ea16a1f3719783345febd3aab41beb55c8c84bfd"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/PHPCSStandards/PHP_CodeSniffer/zipball/ba05f990e79cbe69b9f35c8c1ac8dca7eecc3a10",
|
||||
"reference": "ba05f990e79cbe69b9f35c8c1ac8dca7eecc3a10",
|
||||
"url": "https://api.github.com/repos/PHPCSStandards/PHP_CodeSniffer/zipball/ea16a1f3719783345febd3aab41beb55c8c84bfd",
|
||||
"reference": "ea16a1f3719783345febd3aab41beb55c8c84bfd",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -6210,24 +6211,24 @@
|
||||
"type": "open_collective"
|
||||
},
|
||||
{
|
||||
"url": "https://thanks.dev/phpcsstandards",
|
||||
"url": "https://thanks.dev/u/gh/phpcsstandards",
|
||||
"type": "thanks_dev"
|
||||
}
|
||||
],
|
||||
"time": "2025-01-23T17:04:15+00:00"
|
||||
"time": "2025-04-04T12:57:55+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symplify/vendor-patches",
|
||||
"version": "11.3.7",
|
||||
"version": "11.4.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symplify/vendor-patches.git",
|
||||
"reference": "dec8ec588192a3ee0d886288395b5cd6a768126e"
|
||||
"reference": "085a3a3e456e4d2d9a6b4fe02e86f92ce5b1fe35"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symplify/vendor-patches/zipball/dec8ec588192a3ee0d886288395b5cd6a768126e",
|
||||
"reference": "dec8ec588192a3ee0d886288395b5cd6a768126e",
|
||||
"url": "https://api.github.com/repos/symplify/vendor-patches/zipball/085a3a3e456e4d2d9a6b4fe02e86f92ce5b1fe35",
|
||||
"reference": "085a3a3e456e4d2d9a6b4fe02e86f92ce5b1fe35",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -6245,7 +6246,7 @@
|
||||
"description": "Generate vendor patches for packages with single command",
|
||||
"support": {
|
||||
"issues": "https://github.com/symplify/vendor-patches/issues",
|
||||
"source": "https://github.com/symplify/vendor-patches/tree/11.3.7"
|
||||
"source": "https://github.com/symplify/vendor-patches/tree/11.4.1"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -6257,7 +6258,7 @@
|
||||
"type": "github"
|
||||
}
|
||||
],
|
||||
"time": "2024-01-23T17:12:30+00:00"
|
||||
"time": "2025-02-18T08:19:39+00:00"
|
||||
},
|
||||
{
|
||||
"name": "szepeviktor/phpstan-wordpress",
|
||||
@ -6478,16 +6479,16 @@
|
||||
},
|
||||
{
|
||||
"name": "yoast/phpunit-polyfills",
|
||||
"version": "1.1.3",
|
||||
"version": "1.1.4",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/Yoast/PHPUnit-Polyfills.git",
|
||||
"reference": "0b31ce834facf03b8b44b6587e65b3cf1d7cfb94"
|
||||
"reference": "e6faedf5e34cea4438e341f660e2f719760c531d"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/Yoast/PHPUnit-Polyfills/zipball/0b31ce834facf03b8b44b6587e65b3cf1d7cfb94",
|
||||
"reference": "0b31ce834facf03b8b44b6587e65b3cf1d7cfb94",
|
||||
"url": "https://api.github.com/repos/Yoast/PHPUnit-Polyfills/zipball/e6faedf5e34cea4438e341f660e2f719760c531d",
|
||||
"reference": "e6faedf5e34cea4438e341f660e2f719760c531d",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -6502,7 +6503,7 @@
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-main": "3.x-dev"
|
||||
"dev-main": "4.x-dev"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
@ -6537,7 +6538,7 @@
|
||||
"security": "https://github.com/Yoast/PHPUnit-Polyfills/security/policy",
|
||||
"source": "https://github.com/Yoast/PHPUnit-Polyfills"
|
||||
},
|
||||
"time": "2025-01-08T16:58:34+00:00"
|
||||
"time": "2025-02-09T18:13:44+00:00"
|
||||
}
|
||||
],
|
||||
"aliases": [],
|
||||
@ -6550,7 +6551,8 @@
|
||||
"prefer-lowest": false,
|
||||
"platform": {
|
||||
"php": ">=7.4.1",
|
||||
"ext-json": "*"
|
||||
"ext-json": "*",
|
||||
"ext-curl": "*"
|
||||
},
|
||||
"platform-dev": {},
|
||||
"platform-overrides": {
|
||||
|
@ -1,189 +0,0 @@
|
||||
<?php
|
||||
/**
|
||||
* Handles the SUNRISE constant check and notifications.
|
||||
*
|
||||
* @package WP_Ultimo
|
||||
* @subpackage Admin
|
||||
* @since 2.0.0
|
||||
*/
|
||||
|
||||
namespace WP_Ultimo\Admin;
|
||||
|
||||
use WP_Ultimo\Helpers\WP_Config;
|
||||
|
||||
// Exit if accessed directly
|
||||
defined('ABSPATH') || exit;
|
||||
|
||||
/**
|
||||
* Handles the SUNRISE constant check and notifications.
|
||||
*
|
||||
* @since 2.0.0
|
||||
*/
|
||||
class Sunrise_Admin_Notice {
|
||||
|
||||
/**
|
||||
* Singleton trait.
|
||||
*/
|
||||
use \WP_Ultimo\Traits\Singleton;
|
||||
|
||||
/**
|
||||
* Initializes the class.
|
||||
*
|
||||
* @since 2.0.0
|
||||
* @return void
|
||||
*/
|
||||
public function init() {
|
||||
|
||||
// Only show this in the network admin
|
||||
if (!is_network_admin()) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Add the admin notice
|
||||
add_action('network_admin_notices', array($this, 'check_sunrise_constant'));
|
||||
|
||||
// Handle the AJAX request to update wp-config.php
|
||||
add_action('wp_ajax_wu_update_sunrise_constant', array($this, 'handle_update_sunrise_constant'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if the SUNRISE constant is defined and shows a notice if not.
|
||||
*
|
||||
* @since 2.0.0
|
||||
* @return void
|
||||
*/
|
||||
public function check_sunrise_constant() {
|
||||
|
||||
// Check if SUNRISE is defined and true
|
||||
if (defined('SUNRISE') && SUNRISE === true) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Check if we can write to wp-config.php
|
||||
$wp_config_path = WP_Config::get_instance()->get_wp_config_path();
|
||||
$can_write = is_writable($wp_config_path);
|
||||
|
||||
?>
|
||||
<div class="notice notice-error is-dismissible">
|
||||
<h3 style="margin-top: 0.5em;"><?php _e('Domain Mapping Not Active', 'wp-ultimo'); ?></h3>
|
||||
<p>
|
||||
<?php _e('WP Multisite WaaS domain mapping requires the <code>SUNRISE</code> constant to be defined and set to <code>true</code> in your wp-config.php file.', 'wp-ultimo'); ?>
|
||||
<?php _e('Without this setting, domain mapping will not work correctly.', 'wp-ultimo'); ?>
|
||||
</p>
|
||||
|
||||
<?php if ($can_write) : ?>
|
||||
<p>
|
||||
<button id="wu-update-sunrise-constant" class="button button-primary">
|
||||
<?php _e('Add SUNRISE Constant to wp-config.php', 'wp-ultimo'); ?>
|
||||
</button>
|
||||
<span id="wu-sunrise-spinner" class="spinner" style="float: none; margin-top: 0;"></span>
|
||||
<span id="wu-sunrise-message" style="display: none; margin-left: 10px;"></span>
|
||||
</p>
|
||||
<script>
|
||||
jQuery(document).ready(function($) {
|
||||
$('#wu-update-sunrise-constant').on('click', function(e) {
|
||||
e.preventDefault();
|
||||
|
||||
var $button = $(this);
|
||||
var $spinner = $('#wu-sunrise-spinner');
|
||||
var $message = $('#wu-sunrise-message');
|
||||
|
||||
$button.prop('disabled', true);
|
||||
$spinner.addClass('is-active');
|
||||
|
||||
$.ajax({
|
||||
url: ajaxurl,
|
||||
type: 'POST',
|
||||
data: {
|
||||
action: 'wu_update_sunrise_constant',
|
||||
nonce: '<?php echo wp_create_nonce('wu_update_sunrise_constant'); ?>'
|
||||
},
|
||||
success: function(response) {
|
||||
$spinner.removeClass('is-active');
|
||||
|
||||
if (response.success) {
|
||||
$message.html(response.data.message).css('color', 'green').show();
|
||||
setTimeout(function() {
|
||||
window.location.reload();
|
||||
}, 1500);
|
||||
} else {
|
||||
$button.prop('disabled', false);
|
||||
$message.html(response.data.message).css('color', 'red').show();
|
||||
}
|
||||
},
|
||||
error: function() {
|
||||
$button.prop('disabled', false);
|
||||
$spinner.removeClass('is-active');
|
||||
$message.html('<?php _e('An unknown error occurred.', 'wp-ultimo'); ?>').css('color', 'red').show();
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
</script>
|
||||
<?php else : ?>
|
||||
<p>
|
||||
<?php _e('We cannot automatically update your wp-config.php file as it is not writable.', 'wp-ultimo'); ?>
|
||||
<?php _e('Please add the following line to your wp-config.php file:', 'wp-ultimo'); ?>
|
||||
</p>
|
||||
<p>
|
||||
<code style="display: block; padding: 10px; background: #f0f0f1; margin-bottom: 10px;">define('SUNRISE', true);</code>
|
||||
</p>
|
||||
<p>
|
||||
<?php printf(
|
||||
__('This line should be added right after the line with <code>%s</code>.', 'wp-ultimo'),
|
||||
'$table_prefix'
|
||||
); ?>
|
||||
<?php _e('After adding this line, please refresh this page.', 'wp-ultimo'); ?>
|
||||
</p>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
<?php
|
||||
}
|
||||
|
||||
/**
|
||||
* Handles the AJAX request to update wp-config.php.
|
||||
*
|
||||
* @since 2.0.0
|
||||
* @return void
|
||||
*/
|
||||
public function handle_update_sunrise_constant() {
|
||||
|
||||
// Check nonce
|
||||
if (!check_ajax_referer('wu_update_sunrise_constant', 'nonce', false)) {
|
||||
wp_send_json_error(array(
|
||||
'message' => __('Security check failed.', 'wp-ultimo')
|
||||
));
|
||||
return;
|
||||
}
|
||||
|
||||
// Check if SUNRISE is already defined
|
||||
if (defined('SUNRISE') && SUNRISE === true) {
|
||||
wp_send_json_success(array(
|
||||
'message' => __('SUNRISE constant is already defined.', 'wp-ultimo')
|
||||
));
|
||||
return;
|
||||
}
|
||||
|
||||
// Try to update wp-config.php
|
||||
$result = WP_Config::get_instance()->inject_wp_config_constant('SUNRISE', true);
|
||||
|
||||
if (is_wp_error($result)) {
|
||||
wp_send_json_error(array(
|
||||
'message' => $result->get_error_message()
|
||||
));
|
||||
return;
|
||||
}
|
||||
|
||||
if ($result === false) {
|
||||
wp_send_json_error(array(
|
||||
'message' => __('Failed to update wp-config.php. Try adding the constant manually.', 'wp-ultimo')
|
||||
));
|
||||
return;
|
||||
}
|
||||
|
||||
wp_send_json_success(array(
|
||||
'message' => __('SUNRISE constant added successfully! Reloading...', 'wp-ultimo')
|
||||
));
|
||||
}
|
||||
|
||||
}
|
@ -39,41 +39,6 @@ class Domain_Mapping {
|
||||
*/
|
||||
public $original_url = null;
|
||||
|
||||
/**
|
||||
* Initializes the Domain Mapping Class
|
||||
*
|
||||
* @since 2.0.0
|
||||
*/
|
||||
public function __construct() {
|
||||
|
||||
if ( ! \WP_Ultimo\Sunrise::should_startup()) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Make sure we got loaded in the sunrise stage.
|
||||
add_filter('pre_get_site_by_path', array($this, 'pre_get_site_by_path'), 10, 4);
|
||||
|
||||
add_action('template_redirect', array($this, 'disable_canonical_redirect'), 1);
|
||||
|
||||
add_filter('network_site_url', array($this, 'network_site_url'), 10, 3);
|
||||
|
||||
add_action('admin_init', array($this, 'load_sunrise_notification'));
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Load the SUNRISE constant check and notification.
|
||||
*
|
||||
* @since 2.0.0
|
||||
* @return void
|
||||
*/
|
||||
public function load_sunrise_notification() {
|
||||
if (is_network_admin()) {
|
||||
require_once wu_path('inc/admin/class-sunrise-admin-notice.php');
|
||||
\WP_Ultimo\Admin\Sunrise_Admin_Notice::get_instance()->init();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Runs on singleton instantiation.
|
||||
*
|
||||
|
94
readme.txt
94
readme.txt
@ -6,93 +6,19 @@ License: GPLv2
|
||||
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
||||
Contributors: aanduque, superdav42
|
||||
|
||||
The Complete Network Solution for transforming your WordPress Multisite into a Website as a Service (WaaS) platform.
|
||||
The Complete Network Solution.
|
||||
|
||||
== Description ==
|
||||
|
||||
WP Multisite WaaS helps you transform your WordPress Multisite installation into a powerful Website as a Service (WaaS) platform. This plugin enables you to offer website creation, hosting, and management services to your customers through a streamlined interface.
|
||||
WP Multisite WaaS
|
||||
|
||||
Now community maintained.
|
||||
The WordPress Multisite Website as a Service (Waas) plugin. Now community maintained.
|
||||
|
||||
== Installation ==
|
||||
|
||||
There are two recommended ways to install WP Multisite WaaS:
|
||||
|
||||
= Method 1: Using the pre-packaged release (Recommended) =
|
||||
|
||||
1. Download the latest release ZIP from the [Releases page](https://github.com/superdav42/wp-multisite-waas/releases)
|
||||
2. Log in to your WordPress Network Admin dashboard
|
||||
3. Navigate to Plugins > Add New > Upload Plugin
|
||||
4. Choose the downloaded ZIP file and click "Install Now"
|
||||
5. Network Activate the plugin through the 'Plugins' menu in WordPress
|
||||
6. Follow the step by step Wizard to set the plugin up
|
||||
|
||||
= Method 2: Using Git and Composer (For developers) =
|
||||
|
||||
This method requires command-line access to your server and familiarity with Git and Composer.
|
||||
|
||||
1. Clone the repository to your plugins directory:
|
||||
```
|
||||
cd wp-content/plugins/
|
||||
git clone https://github.com/superdav42/wp-multisite-waas.git
|
||||
cd wp-multisite-waas
|
||||
```
|
||||
|
||||
2. Install the required dependencies using Composer:
|
||||
```
|
||||
composer install
|
||||
```
|
||||
|
||||
3. Network Activate the plugin in your WordPress Network Admin dashboard
|
||||
4. Follow the setup wizard to complete the installation
|
||||
|
||||
= Common Installation Issues =
|
||||
|
||||
**"Failed opening required [...]/vendor/autoload_packages.php"**
|
||||
|
||||
This error occurs when the required vendor files are missing. This typically happens when:
|
||||
- You've downloaded the repository directly from GitHub without using a release package
|
||||
- The composer dependencies haven't been installed
|
||||
|
||||
Solution: Use the pre-packaged release from the [Releases page](https://github.com/superdav42/wp-multisite-waas/releases) or run `composer install` in the plugin directory.
|
||||
|
||||
**"Cannot declare class ComposerAutoloaderInitWPUltimoDependencies, because the name is already in use"**
|
||||
|
||||
This error usually occurs when updating from an older version of WP Ultimo or when multiple versions of the plugin are installed.
|
||||
|
||||
Solution: Deactivate and remove any older versions of WP Ultimo or WP Multisite WaaS before activating the new version.
|
||||
|
||||
**"Class 'WP_Ultimo\Database\Sites\Site_Query' not found"**
|
||||
|
||||
This error can occur if the plugin's autoloader isn't properly loading all the necessary classes.
|
||||
|
||||
Solution: Use the pre-packaged release from the [Releases page](https://github.com/superdav42/wp-multisite-waas/releases) which includes all required files.
|
||||
|
||||
= Domain Mapping Requirements =
|
||||
|
||||
For domain mapping functionality to work properly, you must have the `SUNRISE` constant defined in your wp-config.php file:
|
||||
|
||||
1. Open your wp-config.php file (located in your WordPress root directory)
|
||||
2. Add the following line after the `$table_prefix` line:
|
||||
```php
|
||||
define('SUNRISE', true);
|
||||
```
|
||||
3. Save the file
|
||||
|
||||
If you don't add this constant, all mapped domains will redirect to your main site instead of the correct subsite.
|
||||
|
||||
The plugin will display a notification in the Network Admin dashboard if the `SUNRISE` constant is not defined, with an option to add it automatically if your wp-config.php file is writable.
|
||||
|
||||
== Requirements ==
|
||||
|
||||
- WordPress Multisite 5.3 or higher
|
||||
- PHP 7.4.30 or higher
|
||||
- MySQL 5.6 or higher
|
||||
- HTTPS enabled (recommended for secure checkout)
|
||||
|
||||
== Support ==
|
||||
|
||||
For support, please open an issue on the [GitHub repository](https://github.com/superdav42/wp-multisite-waas/issues).
|
||||
1. Upload 'wp-multisite-waas' to the '/wp-content/plugins/' directory
|
||||
2. Activate the plugin through the 'Plugins' menu in WordPress
|
||||
3. Follow the step by step Wizard to set the plugin up
|
||||
|
||||
== Upgrade Notice ==
|
||||
|
||||
@ -458,7 +384,7 @@ Version 2.0.20 - Released on 2022-09-30
|
||||
* Added: Security mode to deactivate all plugins except WP Ultimo and mu-plugins at once and reactivate after disable;
|
||||
* Added: Allow customers to update the membership to plans and variations with different periods;
|
||||
* Added: Allow customers to select one of their sites when creating a new one;
|
||||
* Added: Error message when customers access the "add user" page over users limit;
|
||||
* Added: Error message when customers access the “add user” page over users limit;
|
||||
* Added: wu_return_url filter, allowing custom redirections after checkout process;
|
||||
* Improvement: New payments from manual gateway are now generated by current membership;
|
||||
* Improvement: Elementor compatibility on mapped sites;
|
||||
@ -537,8 +463,8 @@ Version 2.0.15 - Released on 2022-06-15
|
||||
* Added: Currency Saudi Riyal
|
||||
* Improvement: Removes unlisted countries from the billing address checkout field when using the "Restrict by country" option;
|
||||
* Improvement: Disables the "Restrict by country" toggle when saving the form without allowed countries;
|
||||
* Improvement: Improves the addition of billing address fields by allowing the removal of fields through the "wu_billing_address_fields" filter and avoiding error in the use of this filter;
|
||||
* Improvement: Checks if payment status is completed when building the cart to prevent error with Ultimo defining the cart as "retry";
|
||||
* Improvement: Improves the addition of billing address fields by allowing the removal of fields through the “wu_billing_address_fields” filter and avoiding error in the use of this filter;
|
||||
* Improvement: Checks if payment status is completed when building the cart to prevent error with Ultimo defining the cart as “retry”;
|
||||
* Improvement: Verifies if the cart has a future value to be paid to better handle downgrades;
|
||||
* Improvement: Checks if subscription is not already cancelled on Stripe and Stripe Checkout gateways before trying to cancel;
|
||||
* Improvement: Improvement: Changes stripe.js handlers to better code readability and to follow Stripe recommendations;
|
||||
@ -559,7 +485,7 @@ Version 2.0.15 - Released on 2022-06-15
|
||||
* Fix: SSO not working on wp-admin page with mapped domains;
|
||||
* Fix: Stripe saved cards not working;
|
||||
* Fix: Downgrade cart not being correctly built when new plan is not free;
|
||||
* Fix: Correctly define a cart as "retry" and postpone the payment verification when building it to prevent some errors on checkout validation process;
|
||||
* Fix: Correctly define a cart as “retry” and postpone the payment verification when building it to prevent some errors on checkout validation process;
|
||||
* Fix: Get the enable multiple membership value config from settings value;
|
||||
* Fix: Allow updates with current plan on trial period;
|
||||
* Fix: Stripe Checkout gateway id with wrong value on get_or_create_customer method;
|
||||
|
Reference in New Issue
Block a user