PluginProbe ʕ •ᴥ•ʔ
NitroPack – Performance, Page Speed & Cache Plugin for Core Web Vitals, CDN & Image Optimization / 1.16.8
NitroPack – Performance, Page Speed & Cache Plugin for Core Web Vitals, CDN & Image Optimization v1.16.8
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
Feature 1 year ago Integration 1 year ago Interfaces 2 years ago Util 2 years ago WordPress 1 year ago ModuleHandler.php 1 year 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