2023-05-31 12:17:00 +02:00
|
|
|
<?php
|
|
|
|
|
|
|
|
namespace D3\GoogleAnalytics4\Application\Model;
|
|
|
|
|
2024-05-31 15:18:26 +02:00
|
|
|
use D3\GoogleAnalytics4\Application\Model\CMP\Usercentrics;
|
|
|
|
|
2023-05-31 12:17:00 +02:00
|
|
|
class ManagerTypes
|
|
|
|
{
|
2024-05-31 15:47:54 +02:00
|
|
|
const EXTERNAL_SERVICE = "eigener Service";
|
|
|
|
const NET_COOKIE_MANAGER = "Netensio Cookie Manager";
|
2023-05-31 12:17:00 +02:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Further information's:
|
|
|
|
* https://github.com/aggrosoft/oxid-cookie-compliance
|
|
|
|
*/
|
2024-05-31 15:18:26 +02:00
|
|
|
const AGCOOKIECOMPLIANCE = "Aggrosoft Cookie Compliance";
|
2023-05-31 12:17:00 +02:00
|
|
|
|
2024-05-31 15:18:26 +02:00
|
|
|
const CONSENTMANAGER = "Consentmanager";
|
2024-09-21 16:08:08 +02:00
|
|
|
const INTERNAL_CONSENTMANAGER = "cmconsentmanager";
|
2023-05-31 12:17:00 +02:00
|
|
|
|
2024-05-31 15:47:54 +02:00
|
|
|
const COOKIEFIRST = "Cookiefirst";
|
2023-06-27 08:33:49 +02:00
|
|
|
|
2024-05-31 15:47:54 +02:00
|
|
|
const COOKIEBOT = "Cookiebot";
|
2023-09-07 15:08:06 +02:00
|
|
|
|
2023-05-31 12:17:00 +02:00
|
|
|
/**
|
|
|
|
* @return array
|
|
|
|
*/
|
|
|
|
public function getManagerList(): array
|
|
|
|
{
|
|
|
|
return [
|
|
|
|
"externalService" => self::EXTERNAL_SERVICE,
|
|
|
|
"agcookiecompliance" => self::AGCOOKIECOMPLIANCE,
|
|
|
|
"net_cookie_manager" => self::NET_COOKIE_MANAGER,
|
2024-05-31 15:18:26 +02:00
|
|
|
Usercentrics::sModuleIncludationInternalName => Usercentrics::sModuleIncludationPublicName,
|
|
|
|
Usercentrics::sExternalIncludationInternalName => Usercentrics::sExternalIncludationPublicName,
|
|
|
|
"cmconsentmanager" => self::CONSENTMANAGER,
|
2023-09-07 15:08:06 +02:00
|
|
|
"cookiefirst" => self::COOKIEFIRST,
|
|
|
|
"cookiebot" => self::COOKIEBOT,
|
2023-05-31 12:17:00 +02:00
|
|
|
];
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @param string $sManager
|
|
|
|
* @return bool
|
|
|
|
*/
|
|
|
|
public function isManagerInList(string $sManager) :bool
|
|
|
|
{
|
2024-05-31 15:47:54 +02:00
|
|
|
return in_array($sManager, array_keys($this->getManagerList()), true);
|
2023-05-31 12:17:00 +02:00
|
|
|
}
|
2024-09-21 16:08:08 +02:00
|
|
|
|
|
|
|
/**
|
|
|
|
* @return array
|
|
|
|
*
|
|
|
|
* the CMP from this method always needs the script tag delivered to the dom.
|
|
|
|
*/
|
|
|
|
public function scriptTagDeliveredByDefaultArray() :array
|
|
|
|
{
|
|
|
|
return [
|
|
|
|
Usercentrics::sModuleIncludationInternalName,
|
|
|
|
Usercentrics::sExternalIncludationInternalName,
|
|
|
|
ManagerTypes::CONSENTMANAGER,
|
|
|
|
ManagerTypes::INTERNAL_CONSENTMANAGER,
|
|
|
|
ManagerTypes::COOKIEFIRST,
|
|
|
|
ManagerTypes::COOKIEBOT,
|
|
|
|
ManagerTypes::EXTERNAL_SERVICE
|
|
|
|
];
|
|
|
|
}
|
2023-05-31 12:17:00 +02:00
|
|
|
}
|