PluginProbe
HurryTimer – An Scarcity and Urgency Countdown Timer for WordPress & WooCommerce / 2.1.5
HurryTimer – An Scarcity and Urgency Countdown Timer for WordPress & WooCommerce v2.1.5
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.1.5, at includes/ActionManager.php

64 lines 1.5 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 /**
5 *
6 * This class handle actions executions
7 *
8 * Class ActionManager
9 *
10 * @package Hurrytimer
11 */
12 class ActionManager
13 {
14 /**
15 * @var Campaign
16 */
17 protected $campaign;
18
19 public function __construct($campaign)
20 {
21 $this->campaign = $campaign;
22 }
23
24 /**
25 * Execute registered campaign actions.
26 */
27 public function run()
28 {
29
30 $this->define_hooks();
31
32 foreach ($this->campaign->actions as $action) {
33 switch ($action['id']) {
34
35 // Hide.
36 case C::ACTION_HIDE:
37 add_filter('hurryt_campaign_template', '__return_empty_string', 1);
38 break;
39
40 // URL redirect.
41 case C::ACTION_REDIRECT;
42 @wp_redirect($action['redirectUrl']);
43 break;
44
45 // Change stock status (regular mode)
46 case C::ACTION_CHANGE_STOCK_STATUS:
47 $wcCampaign = new WCCampaign();
48 $wcCampaign->changeStockStatus($this->campaign, $action['wcStockStatus']);
49 break;
50
51 // Display message.
52 case C::ACTION_DISPLAY_MESSAGE:
53 add_filter('hurryt_campaign_template',
54 function () use ($action) {
55 return
56 "<div class='hurrytimer-campaign-message'>{$action['message']}</div>";
57 }, 2);
58 break;
59 }
60 }
61 }
62
63 }
64