PluginProbe ʕ •ᴥ•ʔ
NitroPack – Performance, Page Speed & Cache Plugin for Core Web Vitals, CDN & Image Optimization / 1.12.0
NitroPack – Performance, Page Speed & Cache Plugin for Core Web Vitals, CDN & Image Optimization v1.12.0
1.19.8 1.19.7 1.19.6 1.19.5 trunk 1.10.0 1.10.1 1.10.2 1.10.3 1.10.4 1.11.0 1.12.0 1.13.0 1.14.0 1.15.0 1.15.1 1.15.2 1.15.3 1.16.0 1.16.1 1.16.2 1.16.3 1.16.4 1.16.5 1.16.6 1.16.7 1.16.8 1.17.0 1.17.6 1.17.7 1.17.8 1.17.9 1.18.0 1.18.1 1.18.2 1.18.3 1.18.4 1.18.5 1.18.6 1.18.7 1.18.8 1.18.9 1.19.0 1.19.1 1.19.2 1.19.3 1.19.4 1.3.19 1.3.20 1.4.0 1.4.1 1.5.0 1.5.1 1.5.10 1.5.11 1.5.12 1.5.13 1.5.14 1.5.15 1.5.16 1.5.17 1.5.18 1.5.19 1.5.2 1.5.3 1.5.4 1.5.5 1.5.6 1.5.7 1.5.8 1.5.9 1.6.0 1.6.1 1.7.0 1.7.1 1.8.0 1.8.1 1.8.3 1.9.0 1.9.1 1.9.2
nitropack / classes / PluginStateHandler.php
nitropack / classes Last commit date
Integration 2 years ago WordPress 2 years ago Integration.php 2 years ago PluginStateHandler.php 3 years ago
PluginStateHandler.php
58 lines
1 <?php
2
3 namespace NitroPack;
4
5 use NitroPack\Integration\Plugin\AeliaCurrencySwitcher;
6 use NitroPack\Integration\Plugin\GeoTargetingWP;
7
8 class PluginStateHandler {
9 const eventHandlersMap = [
10 'woocommerce-aelia-currencyswitcher/woocommerce-aelia-currencyswitcher.php' =>[
11 'activateCallback' => 'HandleAeliaCurrencyActivation',
12 'deactivateCallback' => 'HandleAeliaCurrencyDeactivation',
13 ],
14 ];
15 private static $instance;
16
17 public static function getInstance() {
18 if (!self::$instance) {
19 self::$instance = new PluginStateHandler();
20 }
21 return self::$instance;
22 }
23
24 public static function init() {
25 add_action('activated_plugin', [self::getInstance(), 'handleActivation'], 10, 1);
26 add_action('deactivated_plugin', [self::getInstance(), 'handleDeactivation'], 10, 1);
27 }
28
29 public function handleActivation($plugin) {
30 if (array_key_exists($plugin, self::eventHandlersMap) && !empty(self::eventHandlersMap[$plugin]['activateCallback'])) {
31 self::{self::eventHandlersMap[$plugin]['activateCallback']}();
32 }
33 }
34
35 public function handleDeactivation($plugin) {
36 if (array_key_exists($plugin, self::eventHandlersMap) && !empty(self::eventHandlersMap[$plugin]['deactivateCallback'])) {
37 self::{self::eventHandlersMap[$plugin]['deactivateCallback']}();
38 }
39 }
40
41 // maybe have these handlers be part of each plugin compatibility class (maybe even have a class PluginCompatibility that they extend).
42 public static function HandleAeliaCurrencyActivation() {
43 initVariationCookies(AeliaCurrencySwitcher::customVariationCookies);
44 }
45
46 public static function HandleAeliaCurrencyDeactivation() {
47 removeVariationCookies(AeliaCurrencySwitcher::customVariationCookies);
48 }
49
50 public static function HandleGeowpActivation() {
51 initVariationCookies(GeoTargetingWP::getCustomVariationCookies());
52 }
53
54 public static function HandleGeowpDeactivation() {
55 removeVariationCookies(GeoTargetingWP::allGeoWpCookies);
56 }
57 }
58