diff --git a/mailpoet/lib/DI/ContainerConfigurator.php b/mailpoet/lib/DI/ContainerConfigurator.php index d538398ef1..1eead0fdde 100644 --- a/mailpoet/lib/DI/ContainerConfigurator.php +++ b/mailpoet/lib/DI/ContainerConfigurator.php @@ -337,6 +337,7 @@ class ContainerConfigurator implements IContainerConfigurator { $container->autowire(\MailPoet\CustomFields\CustomFieldsRepository::class)->setPublic(true); // Email Editor $container->autowire(\MailPoet\EmailEditor\Engine\Email_Editor::class)->setPublic(true); + $container->autowire(\MailPoet\EmailEditor\Engine\Dependency_Check::class)->setPublic(true); $container->autowire(\MailPoet\EmailEditor\Engine\Email_Api_Controller::class)->setPublic(true); $container->autowire(\MailPoet\EmailEditor\Engine\Settings_Controller::class)->setPublic(true); $container->autowire(\MailPoet\EmailEditor\Engine\Theme_Controller::class)->setPublic(true); diff --git a/packages/php/email-editor/src/Engine/class-dependency-check.php b/packages/php/email-editor/src/Engine/class-dependency-check.php new file mode 100644 index 0000000000..14a1a788c1 --- /dev/null +++ b/packages/php/email-editor/src/Engine/class-dependency-check.php @@ -0,0 +1,47 @@ +is_gutenberg_version_compatible() || $this->is_wp_version_compatible(); + } + + /** + * Checks if the WordPress version is supported. + */ + private function is_wp_version_compatible(): bool { + return version_compare( get_bloginfo( 'version' ), self::MIN_WP_VERSION, '>=' ); + } + + /** + * Checks if the WordPress version is supported. + */ + private function is_gutenberg_version_compatible(): bool { + return version_compare( get_bloginfo( 'version' ), self::MIN_GUTENBERG_VERSION, '>=' ); + } +} diff --git a/packages/php/email-editor/tests/integration/_bootstrap.php b/packages/php/email-editor/tests/integration/_bootstrap.php index 5dacd2a7c8..a65b815938 100644 --- a/packages/php/email-editor/tests/integration/_bootstrap.php +++ b/packages/php/email-editor/tests/integration/_bootstrap.php @@ -9,6 +9,7 @@ declare(strict_types = 1); use Codeception\Stub; use MailPoet\EmailEditor\Container; +use MailPoet\EmailEditor\Engine\Dependency_Check; use MailPoet\EmailEditor\Engine\Email_Api_Controller; use MailPoet\EmailEditor\Engine\Email_Editor; use MailPoet\EmailEditor\Engine\Patterns\Patterns; @@ -293,6 +294,12 @@ abstract class MailPoetTest extends \Codeception\TestCase\Test { // phpcs:ignore ); } ); + $container->set( + Dependency_Check::class, + function () { + return new Dependency_Check(); + } + ); $container->set( Email_Editor::class, function ( $container ) {