Portage pour SPIP de la solution de gestion de consentement aux cookies Tarteaucitron.js
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

101 lines
2.6 KiB

<?php
/**
* Fichier gérant l'installation et désinstallation du plugin Tarteaucitron
*
* @plugin Tarteaucitron
* @copyright 2019
* @author Peetdu
* @licence GNU/GPL
* @package SPIP\Tarteaucitron\Installation
*/
if (!defined('_ECRIRE_INC_VERSION')) {
return;
}
/**
* Fonction d'installation et de mise à jour du plugin Tarteaucitron.
*
* @param string $nom_meta_base_version
* Nom de la meta informant de la version du schéma de données du plugin installé dans SPIP
* @param string $version_cible
* Version du schéma de données dans ce plugin (déclaré dans paquet.xml)
* @return void
**/
function tarteaucitron_upgrade($nom_meta_base_version, $version_cible) {
$maj = array();
$maj['create'] = array(
array('ecrire_config', 'tarteaucitron',array(
'boutons' => 'twice',
'highprivacy' => array('true'),
'acceptallcta' => array('true'),
'showIcon' => array('true'),
'mandatory' => array('true'),
'moreInfoLink' => array('true')
)),
array('maj_tarteaucitron_cfg')
);
$maj['1.1.0'][] = array('maj_tarteaucitron_cfg');
include_spip('base/upgrade');
maj_plugin($nom_meta_base_version, $version_cible, $maj);
}
/**
* Fonction de désinstallation du plugin Tarteaucitron.
*
* @param string $nom_meta_base_version
* Nom de la meta informant de la version du schéma de données du plugin installé dans SPIP
* @return void
**/
function tarteaucitron_vider_tables($nom_meta_base_version) {
$icon = _DIR_IMG . "tarteaucitron_icon.png";
if (file_exists($icon)) {
@unlink($icon);
}
effacer_meta('tarteaucitron');
effacer_meta($nom_meta_base_version);
}
function maj_tarteaucitron_cfg() {
$cfg = lire_config('tarteaucitron');
$cfg['boutons'] = ($cfg['boutons']=='twice') ? 'both' : $cfg['boutons'];
$readmoreLink = $cfg['readmoreLink'];
$moreInfoLink = (!empty($readmoreLink)) ? array("true") : array("false");
$cfg['moreInfoLink'] = $moreInfoLink;
foreach($cfg['services'] as $service => $value) {
if (!empty($value)) {
switch ($service) {
case "gtag" :
$cfg['services'][$service] = array('UA-XXXXXXXX-X' => $value);
break;
case "twitter":
case "twitterembed":
$cfg['services'][$service] = array();
break;
case "gmap" :
$cfg['services']['googlemaps'] = array('API_KEY' => $value);
unset($cfg['services'][$service]);
break;
case "fb_pixel" :
$cfg['services']['facebookpixel'] = array('YOUR-ID' => $value);
unset($cfg['services'][$service]);
break;
case "fb" :
$cfg['services']['facebook'] = array();
unset($cfg['services'][$service]);
break;
}
}
}
ecrire_config('tarteaucitron',$cfg);
}