# hurrytimer/2.0.0/includes/ActionManager.php

HurryTimer – An Scarcity and Urgency Countdown Timer for WordPress &amp; WooCommerce, version 2.0.0. 49 lines.

- Page: https://pluginprobe.com/plugins/hurrytimer/2.0.0/code/includes/ActionManager.php
- Raw: https://pluginprobe.com/plugins/hurrytimer/2.0.0/raw/includes/ActionManager.php
- Modified: 2019-04-05T20:43:02+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/hurrytimer/2.0.0/code/includes/ActionManager.php#L10-L20`.

```php
<?php
namespace Hurrytimer;

class ActionManager
{
    /**
     * @var \Hurrytimer\Campaign
     */
    protected $campaign;

    public function __construct($campaign)
    {
        $this->campaign = $campaign;
    }

    function redirect($url)
    {
        ob_start();
        header("Location: $url");
        exit;
    }

    function run()
    {
        foreach ($this->campaign->actions as $action) {
            switch ($action['id']) {
                case C::ACTION_HIDE:
                    add_filter('hurryt_campaign_template', function () { return ''; }, 1);
                    break;
                case C::ACTION_REDIRECT;
                    $this->redirect($action['redirectUrl']);
                    break;
                case C::ACTION_CHANGE_STOCK_STATUS:
                    $wcCampaign = new WCCampaign();
                    $wcCampaign->changeStockStatus($this->campaign, $action['wcStockStatus']);
                    break;
                case C::ACTION_DISPLAY_MESSAGE:
                    add_filter('hurryt_campaign_template',
                        function ($template) use ($action) {
                            return
                                "<div class='hurrytimer-campaign-message'>{$action['message']}</div>";
                        }, 2);
                    break;
            }
        }
    }


}
```
