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

49 lines 1.3 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 class ActionManager
5 {
6 /**
7 * @var \Hurrytimer\Campaign
8 */
9 protected $campaign;
10
11 public function __construct($campaign)
12 {
13 $this->campaign = $campaign;
14 }
15
16 function redirect($url)
17 {
18 ob_start();
19 header("Location: $url");
20 exit;
21 }
22
23 function run()
24 {
25 foreach ($this->campaign->actions as $action) {
26 switch ($action['id']) {
27 case C::ACTION_HIDE:
28 add_filter('hurryt_campaign_template', function () { return ''; }, 1);
29 break;
30 case C::ACTION_REDIRECT;
31 $this->redirect($action['redirectUrl']);
32 break;
33 case C::ACTION_CHANGE_STOCK_STATUS:
34 $wcCampaign = new WCCampaign();
35 $wcCampaign->changeStockStatus($this->campaign, $action['wcStockStatus']);
36 break;
37 case C::ACTION_DISPLAY_MESSAGE:
38 add_filter('hurryt_campaign_template',
39 function ($template) use ($action) {
40 return
41 "<div class='hurrytimer-campaign-message'>{$action['message']}</div>";
42 }, 2);
43 break;
44 }
45 }
46 }
47
48
49 }