ldc-web-cookie-notice/examples/wordpress/cn-cookies.php
2024-01-25 14:52:48 +01:00

248 lines
No EOL
9.6 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
$site_name = get_bloginfo('name');
$logo_picture_url = get_stylesheet_directory_uri() . '/assets/images/logo-mr.png';
$logo_alt_text = "Logo " . $site_name;
$logo_title_text = "Logo " . $site_name;
$strings = (object)[
'modal_title' => 'Fenêtre de gestion de cookies',
'button_customize_cookies' => 'Personnaliser les cookies',
'button_close_cookies' => 'Fermer la fenêtre des cookies',
'button_title_open_new_tab' => 'Ouvrir le lien dans un nouvel onglet',
'button_forbid' => 'Interdire',
'button_allow' => 'Autoriser',
'button_forbid_all' => strtoupper('Tout refuser'),
'button_allow_all' => strtoupper('Tout accepter'),
'button_customize' => strtoupper('Personnaliser'),
'button_forbid_all_title' => 'Refuser tous les cookies et fermer le panneau des cookies',
'button_allow_all_title' => 'Accepter tous les cookies et fermer le panneau des cookies',
'button_back' => strtoupper('Retour'),
'banner_title' => 'Le site internet ' . $site_name . ' utilise des cookies !',
'banner_text' => 'Nous utilisons des cookies pour nous assurer du bon fonctionnement de notre site et à des fins analytiques.
Vous pouvez changer d\'avis à tout moment en cliquant sur l\'icône présente sur chaque page de notre site.
En autorisant ces services tiers, vous acceptez le dépôt et la lecture de cookies et l\'utilisation de technologies de suivi nécessaires à leur bon fonctionnement.',
'panel_title' => 'Panneau de gestion des cookies',
'panel_content' => 'Contenu du panneau des cookies',
'panel_subtitle' => 'Le respect de votre vie privée est notre priorité',
'panel_details' => 'Les fonctionnalités de ce site s’appuient sur des services proposés par des tiers. Si vous acceptez, ces tiers déposeront des cookies qui vous permettront de visualiser sur le site du contenu hébergé par ces tiers.
Via ces cookies, ces tiers collecteront et utiliseront vos données de navigation pour des finalités qui leur
sont propres, conformément à leur politique de confidentialité (lien ci-dessous).
Cette page vous permet de donner ou de retirer votre consentement, soit globalement soit service par service.',
'picture_cookie_title' => 'Image d\'un bon gros cookie',
'navigation_title' => 'Navigation du panneau des cookie',
];
$cookies = [];
// YOUTUBE
$cookies['youtube'] = [
'name' => 'VIDEOS - Youtube',
'description' => 'Les cookies déposés via les services de partage de vidéo ont pour finalité de permettre à
l’utilisateur de visionner directement sur le site le contenu multimédia.',
'link' => 'https://policies.google.com/technologies/cookies?hl=fr&utm_source=ucb',
'labelLink' => 'En savoir +',
'cookies' => ['NID', 'VISITOR_INFO1_LIVE', 'YSC']
];
$cookies['youtube']['script'] = <<<SCRIPT
function () {
let youtubeVids = document.getElementsByClassName('cn-youtube');
for (let item of youtubeVids) {
let id = item.dataset.id;
let e = document.createElement('iframe');
e.src = "https://www.youtube.com/embed/" + id;
e.width = "640";
e.height = "360";
e.frameBorder = "0";
e.allow = "accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture";
e.allowFullscreen = true;
item.innerHTML = "";
item.appendChild(e);
}
}
SCRIPT;
$cookies['youtube']['fallback'] = <<<FALLBACK
function () {
let youtubeVids = document.getElementsByClassName('cn-youtube');
for (let item of youtubeVids) {
let a = document.createElement('a');
a.innerText = 'Autoriser';
a.classList.add('cn-cookie-link');
a.setAttribute('role', 'button');
a.onclick = function () {
WebCookieNotice.openCookieModalToCookiePage();
};
let e = document.createElement('p');
e.innerHTML = 'Youtube est désactivé. ';
item.innerHTML = "";
e.appendChild(a);
item.appendChild(e);
}
}
FALLBACK;
// VIMEO
$cookies['vimeo'] = [
'name' => 'VIDEOS - Vimeo',
'description' => 'Les cookies déposés via les services de partage de vidéo ont pour finalité de permettre à
l’utilisateur de visionner directement sur le site le contenu multimédia.',
'link' => 'https://vimeo.com/cookie_policy',
'labelLink' => 'En savoir +',
'cookies' => ['NID', 'VISITOR_INFO1_LIVE', 'YSC']
];
$cookies['vimeo']['script'] = <<<SCRIPT
function () {
let vimeoVids = document.getElementsByClassName('cn-vimeo');
for (let item of vimeoVids) {
let id = item.dataset.id;
let e = document.createElement('iframe');
e.src = "https://player.vimeo.com/video/" + id;
e.width = "640";
e.height = "360";
e.frameBorder = "0";
e.allow = "autoplay; fullscreen; picture-in-picture";
e.allowFullscreen = true;
item.innerHTML = "";
item.appendChild(e);
}
}
SCRIPT;
$cookies['vimeo']['fallback'] = <<<FALLBACK
function () {
let vimeoVids = document.getElementsByClassName('cn-vimeo');
for (let item of vimeoVids) {
let a = document.createElement('a');
a.innerText = 'Autoriser';
a.classList.add('cn-cookie-link');
a.setAttribute('role', 'button');
a.onclick = function () {
WebCookieNotice.openCookieModalToCookiePage();
};
let e = document.createElement('p');
e.innerHTML = 'Vimeo est désactivé. ';
item.innerHTML = "";
e.appendChild(a);
item.appendChild(e);
}
}
FALLBACK;
// RECAPTCHA
$cookies['recaptcha'] = [
'name' => 'API - reCAPTCHA',
'description' => 'Les cookies qui sont déposés via le recaptcha sur les formulaires ont pour
finalité d\'empêcher que ceux-ci ne soient soumis par des robots.',
'link' => 'https://policies.google.com/privacy',
'labelLink' => 'En savoir +',
'cookies' => ['NID', '__Secure-3PAPISID', '__Secure-3PSID', '__Secure-3PSIDCC']
];
$cookies['recaptcha']['script'] = <<<SCRIPT
function () {
if (window.__CN_Recaptcha) {
window.__CN_Recaptcha();
}
}
SCRIPT;
// ANALYCTICS
$cookies['analytics'] = [
'name' => 'MESURES D’AUDIENCE' . ' - Google Analytics',
'description' => 'Les cookies qui sont déposés via le recaptcha sur les formulaires ont pour finalité
d’empêcher que ceux-ci ne soient soumis par des robots.',
'link' => 'https://policies.google.com/privacy',
'labelLink' => 'En savoir +',
'cookies' => [
'_ga',
'_gat_gtag_G_GVRHBCHE09',
'_gid'
]
];
$cookies['analytics']['script'] = <<<SCRIPT
function () {
(function (d, t) {
var g = d.createElement(t),
s = d.getElementsByTagName(t)[0];
g.src = 'https://www.googletagmanager.com/gtag/js?id=G-GVRHBCHE09';
g.id = 'analytics';
s.parentNode.insertBefore(g, s)
}(document, 'script'));
window.dataLayer = window.dataLayer || [];
function gtag() {
dataLayer.push(arguments);
}
gtag('js', new Date());
gtag('config', 'G-GVRHBCHE09');
}
SCRIPT;
// MATOMO
$cookies['matomo'] = [
'name' => 'Matomo',
'description' => 'Les services de mesure d\'audience permettent de générer des statistiques de fréquentation utiles à l\'amélioration du site.',
'link' => 'https://fr.matomo.org/gdpr-analytics/',
'labelLink' => 'En savoir +',
'cookies' => ['_pk']
];
$cookies['matomo']['script'] = <<<SCRIPT
function () {
var _paq = window._paq = window._paq || [];
/* tracker methods like "setCustomDimension" should be called before "trackPageView" */
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function() {
var u="//yl.s-web.fr/";
_paq.push(['setTrackerUrl', u+'rainbow']);
_paq.push(['setSiteId', '
SCRIPT;
$cookies['matomo']['script'] .= MATOMO_SITE_ID;
$cookies['matomo']['script'] .= <<<SCRIPT
']);
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
g.async=true; g.src=u+'unicorn'; s.parentNode.insertBefore(g,s);
})();
}
SCRIPT;
?>
<?php include('cookie-notice-templates/standard.php'); ?>
<script nonce="{{ $nonce ?? '' }}">
document.addEventListener('DOMContentLoaded', function() {
window.WebCookieNotice = {};
<?php foreach ($cookies as $index_name => $cookie) { ?>
window.WebCookieNotice['<?php echo $index_name ?>'] = {};
window.WebCookieNotice['<?php echo $index_name ?>'].tmp = {};
// SCRIPT
window.WebCookieNotice['<?php echo $index_name ?>'].tmp.script =
<?php
echo strip_tags($cookie['script']);
?>;
<?php unset($cookie['script']); ?>
// FALLBACK
<?php if (isset($cookie['fallback'])) { ?>
window.WebCookieNotice['<?php echo $index_name ?>'].tmp.fallback =
<?php
echo strip_tags($cookie['fallback']);
?>;
<?php unset($cookie['fallback']); ?>
<?php } ?>
window.WebCookieNotice['<?php echo $index_name ?>'].conf = <?php echo json_encode($cookie) ?>;
window.WebCookieNotice['<?php echo $index_name ?>'].conf.script =
window.WebCookieNotice['<?php echo $index_name ?>'].tmp.script;
window.WebCookieNotice['<?php echo $index_name ?>'].conf.fallback =
window.WebCookieNotice['<?php echo $index_name ?>'].tmp.fallback;
window.WebCookieNotice['<?php echo $index_name ?>'] =
window.WebCookieNotice['<?php echo $index_name ?>'].conf;
<?php } ?>
window.WebCookieNotice = new CookieNotice(window.WebCookieNotice);
});
</script>