diff --git a/src/Extension/ConditionalExtension.php b/src/Extension/ConditionalExtension.php index f77d8e03015107fe97da7916fd2f26bc9750bc73..6ecf12ff371a70a8de3b2c2d2000dc80a859b497 100644 --- a/src/Extension/ConditionalExtension.php +++ b/src/Extension/ConditionalExtension.php @@ -15,6 +15,7 @@ use WPDesk\Init\Binding\Loader\ArrayDefinitions; use WPDesk\Init\Binding\Loader\BindingDefinitions; use WPDesk\Init\Configuration\ReadableConfig; use WPDesk\Init\DependencyInjection\ContainerBuilder; +use WPDesk\Init\Extension\CommonBinding\RequirementsCheck; use WPDesk\Init\Extension\CommonBinding\WPDeskLicenseBridge; use WPDesk\Init\Extension\CommonBinding\WPDeskTrackerBridge; use WPDesk\Init\Plugin\Plugin; @@ -25,6 +26,10 @@ class ConditionalExtension implements Extension { public function bindings( ContainerInterface $c ): BindingDefinitions { $bindings = []; + if ( class_exists( \WPDesk_Basic_Requirement_Checker::class ) ) { + $bindings[] = RequirementsCheck::class; + } + if ( class_exists( \WPDesk\License\PluginRegistrator::class ) ) { $bindings[] = WPDeskLicenseBridge::class; } @@ -39,6 +44,10 @@ class ConditionalExtension implements Extension { public function build( ContainerBuilder $builder, Plugin $plugin, ReadableConfig $config ): void { $definitions = []; + if ( class_exists( \WPDesk_Basic_Requirement_Checker::class ) ) { + $definitions[ RequirementsCheck::class ] = new AutowireDefinitionHelper(); + } + if ( class_exists( \WPDesk\License\PluginRegistrator::class ) ) { $definitions[ WPDeskLicenseBridge::class ] = new AutowireDefinitionHelper(); } diff --git a/src/Resources/bindings/index.php b/src/Resources/bindings/index.php index 1fd46fcde06549135521675dd3c4dc2b2ff7874a..511616180dc2e65c555f55efd70441aa6c036ad3 100644 --- a/src/Resources/bindings/index.php +++ b/src/Resources/bindings/index.php @@ -1,11 +1,9 @@ <?php use WPDesk\Init\Extension\CommonBinding\I18n; -use WPDesk\Init\Extension\CommonBinding\RequirementsCheck; use WPDesk\Init\Extension\CommonBinding\CustomOrderTableCompatibility; return [ - RequirementsCheck::class, I18n::class, CustomOrderTableCompatibility::class, ]; diff --git a/src/Resources/services.inc.php b/src/Resources/services.inc.php index 21b1c0d80a635adf9296532fe1500d521c71016a..276657c7c550d1ac829ffb9cebc78604a2604b55 100644 --- a/src/Resources/services.inc.php +++ b/src/Resources/services.inc.php @@ -1,16 +1,16 @@ <?php use DI\Definition\Helper\AutowireDefinitionHelper; +use WPDesk\Init\Extension\CommonBinding\CustomOrdersTableCompatibility; use WPDesk\Init\Extension\CommonBinding\I18n; -use WPDesk\Init\Extension\CommonBinding\RequirementsCheck; return [ - wpdb::class => static function () { + wpdb::class => static function () { global $wpdb; return $wpdb; }, - I18n::class => new AutowireDefinitionHelper(), - RequirementsCheck::class => new AutowireDefinitionHelper(), + I18n::class => new AutowireDefinitionHelper(), + CustomOrdersTableCompatibility::class => new AutowireDefinitionHelper(), ];