Skip to content
Snippets Groups Projects
Verified Commit f204711e authored by Bartek Jaskulski's avatar Bartek Jaskulski
Browse files

feat: adjust tracker bridge to wp-wpdesk-tracker v4

parent fee1879b
Branches
Tags
2 merge requests!5feat: remove compilation command,!4feat: remove compilation command
......@@ -44,6 +44,7 @@
"symfony/filesystem": "^5.4 || ^6.2",
"wpdesk/phpstan-rules": "^1.1",
"wpdesk/wp-basic-requirements": "^3",
"wpdesk/wp-wpdesk-license": "^4",
"wpdesk/wp-builder": "^2.0",
"wpdesk/wp-code-sniffer": "^1.3"
},
......@@ -51,7 +52,8 @@
"wpdesk/wp-basic-requirements": "Enables your plugin to check an environment requirement before instantiation, e.g. PHP version or active plugins"
},
"conflict": {
"wpdesk/wp-basic-requirements": "<3 >=4"
"wpdesk/wp-basic-requirements": "<3 >=4",
"wpdesk/wp-wpdesk-license": "<4 >=5"
},
"scripts": {
"test": "vendor/bin/phpunit --bootstrap tests/bootstrap.php ./tests"
......
<?php
declare(strict_types=1);
namespace WPDesk\Init\Extension\CommonBinding;
use Psr\Log\LoggerInterface;
use WPDesk\Init\Binding\Hookable;
use WPDesk\Init\Plugin\Plugin;
use WPDesk\License\PluginRegistrator;
use WPDesk\License\LicenseServer\PluginRegistrator;
use WPDesk\License\LicenseServer\PluginVersionInfo;
class WPDeskLicenseBridge implements Hookable {
/** @var \WPDesk_Plugin_Info */
private $plugin_info;
private Plugin $plugin;
private $registrator;
private string $product_id;
public function __construct( \WPDesk_Plugin_Info $plugin_info ) {
$this->plugin_info = $plugin_info;
}
/** @var string[] */
private array $shops;
public function hooks(): void {
$this->registrator = $this->register_plugin();
// add_action('plugins_loaded', $this);
private LoggerInterface $logger;
public function __construct(
Plugin $plugin,
string $product_id,
array $shops,
LoggerInterface $logger
) {
$this->plugin = $plugin;
$this->product_id = $product_id;
$this->shops = $shops;
$this->logger = $logger;
}
public function __invoke(): void {
$is_plugin_subscription_active = $this->registrator instanceof PluginRegistrator && $this->registrator->is_active();
if ( $this->plugin instanceof ActivationAware && $is_plugin_subscription_active ) {
$this->plugin->set_active();
public function hooks(): void {
add_action( 'plugins_loaded', $this, -50 );
}
public function __invoke() {
// Backward compatibility with wp-builder hook.
if ( apply_filters( 'wpdesk_can_register_plugin', true, $this->plugin ) === false ) {
return;
}
private function register_plugin() {
if ( apply_filters( 'wpdesk_can_register_plugin', true, $this->plugin_info ) ) {
$registrator = new PluginRegistrator( $this->plugin_info );
$plugin_info = new PluginVersionInfo(
$this->plugin->get_name(),
$this->plugin->get_version(),
$this->product_id,
$this->plugin->get_slug(),
$this->plugin->get_basename(),
$this->shops
);
$registrator = new PluginRegistrator( $plugin_info );
$registrator->initialize_license_manager();
return $registrator;
}
}
}
......@@ -30,7 +30,7 @@ class ConditionalExtension implements Extension {
$bindings[] = RequirementsCheck::class;
}
if ( class_exists( \WPDesk\License\PluginRegistrator::class ) ) {
if ( class_exists( \WPDesk\License\LicenseServer\PluginRegistrator::class ) ) {
$bindings[] = WPDeskLicenseBridge::class;
}
......@@ -48,8 +48,10 @@ class ConditionalExtension implements Extension {
$definitions[ RequirementsCheck::class ] = new AutowireDefinitionHelper();
}
if ( class_exists( \WPDesk\License\PluginRegistrator::class ) ) {
$definitions[ WPDeskLicenseBridge::class ] = new AutowireDefinitionHelper();
if ( class_exists( \WPDesk\License\LicenseServer\PluginRegistrator::class ) ) {
$definitions[ WPDeskLicenseBridge::class ] = ( new AutowireDefinitionHelper() )
->constructorParameter( 'proudct_id', $config->get( 'product_id' ) )
->constructorParameter( 'shops', (array) $config->get( 'shops', [] ) );
}
if ( class_exists( \WPDesk_Tracker::class ) ) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment