HEX
Server: Microsoft-IIS/10.0
System: Windows NT ITPWINWEBSVR22 10.0 build 20348 (Windows Server 2022) AMD64
User: www.conferencesearch.co.uk (0)
PHP: 8.3.30
Disabled: NONE
Upload Files
File: D:/web/matomo.circ/plugins/TagManager/API/PreviewCookie.php
<?php

/**
 * Matomo - free/libre analytics platform
 *
 * @link https://matomo.org
 * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
 */

namespace Piwik\Plugins\TagManager\API;

use Piwik\Cookie;

class PreviewCookie extends Cookie
{
    public const COOKIE_NAME = 'mtmPreviewMode';
    public const DEBUG_SITE_URL_COOKIE_NAME = 'mtmPreviewSiteURL';

    public function __construct()
    {
        $oneWeekInSeconds = 604800;
        $expire = time() + $oneWeekInSeconds;
        parent::__construct(self::COOKIE_NAME, $expire);
    }

    public function getCookieValueName($idSite, $idContainer)
    {
        return 'mtmPreview' . $idSite . '_' . $idContainer;
    }

    public function enable($idSite, $idContainer)
    {
        $this->set($this->getCookieValueName($idSite, $idContainer), '1');
        $this->save('Lax');
    }

    public function disable($idSite, $idContainer)
    {
        $this->set($this->getCookieValueName($idSite, $idContainer), null);
        $this->save('Lax');
    }

    public function enableDebugSiteUrl($url)
    {
        $this->set(self::DEBUG_SITE_URL_COOKIE_NAME, $url);
        $this->save('Lax');
    }

    public function disableDebugSiteUrl()
    {
        $this->set(self::DEBUG_SITE_URL_COOKIE_NAME, null);
        $this->save('Lax');
    }

    public function getDebugSiteUrl()
    {
        return $this->get(self::DEBUG_SITE_URL_COOKIE_NAME);
    }
}