PluginProbe
HurryTimer – An Scarcity and Urgency Countdown Timer for WordPress & WooCommerce / 2.2.0
HurryTimer – An Scarcity and Urgency Countdown Timer for WordPress & WooCommerce v2.2.0
2.15.0 trunk 1.0.0 1.0.1 1.1.0 1.1.1 1.1.2 1.1.3 1.2.0 1.2.1 1.2.2 1.2.3 1.2.4 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.1.2 2.1.3 2.1.5 2.1.6 2.1.7 2.1.8 2.10.0 All 62 releases
hurrytimer / includes / ActionManager.php

ActionManager.php in HurryTimer – An Scarcity and Urgency Countdown Timer for WordPress & WooCommerce 2.2.0, at includes/ActionManager.php

69 lines 1.7 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 namespace Hurrytimer;
3
4 use Hurrytimer\Utils\Helpers;
5
6 /**
7 *
8 * This class handle actions executions
9 *
10 * Class ActionManager
11 *
12 * @package Hurrytimer
13 */
14 class ActionManager
15 {
16 /**
17 * @var Campaign
18 */
19 protected $campaign;
20
21 public function __construct($campaign)
22 {
23 $this->campaign = $campaign;
24 }
25
26 /**
27 * Execute registered campaign actions.
28 */
29 public function run()
30 {
31 $pluginSettings = new PluginSettings();
32 $settings = $pluginSettings->getSettings();
33 if(Helpers::isUsingDashboard() && $settings['disable_actions']){
34 return;
35 }
36
37 foreach ($this->campaign->actions as $action) {
38 switch ($action['id']) {
39
40 // Hide.
41 case C::ACTION_HIDE:
42 add_filter('hurryt_campaign_template', '__return_empty_string', 1);
43 break;
44
45 // URL redirect.
46 case C::ACTION_REDIRECT;
47 @wp_redirect($action['redirectUrl']);
48 break;
49
50 // Change stock status (regular mode)
51 case C::ACTION_CHANGE_STOCK_STATUS:
52 $wcCampaign = new WCCampaign();
53 $wcCampaign->changeStockStatus($this->campaign, $action['wcStockStatus']);
54 break;
55
56 // Display message.
57 case C::ACTION_DISPLAY_MESSAGE:
58 add_filter('hurryt_campaign_template',
59 function () use ($action) {
60 return
61 "<div class='hurrytimer-campaign-message'>{$action['message']}</div>";
62 }, 2);
63 break;
64 }
65 }
66 }
67
68 }
69