OwlCyberSecurity - MANAGER
Edit File: IntegrationsManager.php
<?php namespace WP_Statistics\Service\Integrations; use WP_STATISTICS\Option; class IntegrationsManager { /** * IntegrationsManager constructor. */ public function __construct() { add_action('init', [$this, 'registerIntegrations']); add_action('update_option_active_plugins', [$this, 'unsetIntegrationUponDeactivation'], 10, 2); } /** * Registers all integrations. * @return void */ public function registerIntegrations() { $integrations = IntegrationHelper::getAllIntegrations(); foreach ($integrations as $integration) { if (!$integration->isActive()) continue; $integration->register(); } } /** * When integration is deactivated, reset the integration option. */ public function unsetIntegrationUponDeactivation($oldPlugins, $newPlugins) { $activeIntegration = Option::get('consent_integration'); $activeIntegration = IntegrationHelper::getIntegration($activeIntegration); if (!$activeIntegration) return; $plugin = $activeIntegration->getPath(); $isPluginDeactivated = in_array($plugin, $oldPlugins) && !in_array($plugin, $newPlugins); if ($isPluginDeactivated) { Option::update('consent_integration', ''); } } }