Browse Source

Ajout des explications pour les modèles

pull/19/head
Chancellier Pierre-Jean 9 months ago
parent
commit
4a6fb02ad0
  1. 6
      action/tarteaucitron_referencer_services.php
  2. 30
      formulaires/configurer_tarteaucitron_services.php
  3. 2
      json/services.json
  4. 4
      lang/tarteaucitron_fr.php

6
action/tarteaucitron_referencer_services.php

@ -30,6 +30,7 @@ function action_tarteaucitron_referencer_services_dist(){
$service = $matches[1];
$list_services[$service] = array();
$list_services[$service]['hasModele'] = false;
$list_services[$service]['params'] = array();
if (preg_match('/["\']?type["\']?: ["\'](\w+)["\'],/', $lines[$i+2], $matches)) {
@ -63,6 +64,7 @@ function action_tarteaucitron_referencer_services_dist(){
// Gestion des services spécifiques
switch ($service) {
case 'facebook':
$list_services[$service]['hasModele'] = true;
$list_services[$service]['params_modele']['facebook_video'][] = 'video_id';
$services_specifiques[] = $service;
break;
@ -148,6 +150,7 @@ function action_tarteaucitron_referencer_services_dist(){
$script = strip_tags($script);
$list_services[$service]['JS'] = $script . "\n" . $list_services[$service]['JS'];
} elseif (!in_array($service,$services_specifiques)) {
$list_services[$service]['hasModele'] = true;
$fichier_modele = _DIR_PLUGIN_TARTEAUCITRON . "modeles/tac_" . $service . ".html";
file_put_contents($fichier_modele, $script);
}
@ -155,8 +158,9 @@ function action_tarteaucitron_referencer_services_dist(){
}
}
// Supprimer les clés qui sont des tableaux vides
foreach($list_services[$service] as $prop => $value) {
if (empty($list_services[$service][$prop])) {
if ((is_array($list_services[$service][$prop])) && (empty($list_services[$service][$prop]))) {
unset($list_services[$service][$prop]);
}
}

30
formulaires/configurer_tarteaucitron_services.php

@ -47,6 +47,9 @@ function formulaires_configurer_tarteaucitron_services_traiter_dist(){
function formulaires_configurer_tarteaucitron_services_saisies_dist(){
$saisies = [];
$json_source = find_in_path('json/services.json');
$json = file_get_contents($json_source);
$parsed_json = json_decode($json);
$types_actifs = tarteaucitron_liste_types_actifs();
foreach($types_actifs as $type => $liste_services) {
@ -61,7 +64,9 @@ function formulaires_configurer_tarteaucitron_services_saisies_dist(){
);
foreach($liste_services as $service => $params) {
$champ = array(
$has_modele = $parsed_json->{$service}->{'hasModele'};
$fieldset['saisies'][] = array(
'saisie' => 'checkbox',
'options' => array(
'nom' => $service . '_actif',
@ -72,7 +77,28 @@ function formulaires_configurer_tarteaucitron_services_saisies_dist(){
'defaut' => array($service)
)
);
$fieldset['saisies'][] = $champ;
if ($has_modele) {
$liste_modeles = scandir(_DIR_PLUGIN_TARTEAUCITRON . "modeles");
$modeles = '';
foreach($liste_modeles as $nom_fichier) {
if (preg_match('/^tac_' . $service . '(_\w+)?.html$/',$nom_fichier)) {
$modeles .= $nom_fichier . ', ';
}
}
$modeles = '(' . substr($modeles, 0, -2) . ')';
$fieldset['saisies'][] = array(
'saisie' => 'explication',
'options' => array(
'nom' => $service . '_hasmodele',
'titre' => _T('tarteaucitron:cfg_display_service', array('service' => $service)),
'texte' => _T('tarteaucitron:cfg_ajouter_modele', array('modeles' => $modeles))
)
);
}
$i = 0;
foreach($params as $param) {

2
json/services.json

File diff suppressed because one or more lines are too long

4
lang/tarteaucitron_fr.php

@ -12,6 +12,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
'cfg_afficher_bandeau' => 'Afficher le bandeau ?',
'cfg_afficher_bandeau_attention' => 'Il est hautement recommandé d’afficher le bandeau.',
'cfg_afficher_bandeau_explication' => 'Si pas de bandeau le consentement est alors implicite.',
'cfg_ajouter_modele' => 'Ajoutez le modèle que vous souhaitez @modeles@ à l\'endroit où le service doit s\'afficher',
'cfg_aucun' => 'Aucun',
'cfg_avance' => 'Réglages avancés',
'cfg_bandeau_bas_page' => 'Bas de la page',
@ -32,6 +33,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
'cfg_cookieslist' => 'Afficher la liste des cookies installés ?',
'cfg_cookieslist_explication' => 'Permet au visiteur de visualiser facilement les cookies actifs.',
'cfg_desinstaller' => 'Désactiver',
'cfg_display_service' => 'Afficher le service @service@',
'cfg_exemple' => 'Exemple',
'cfg_exemple_explication' => 'Explication de cet exemple',
'cfg_explication' => '<li>Recherchez et activez votre service.</li>
@ -39,7 +41,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
<br>
<div>Optionnel (suivant les services) :</div>
<br>
<li>Si le service en question n\'est pas de type <b>support</b> ou <b>analytic</b>, parcourez le dossier <b>modèles</b> du plugin pour savoir si un <code>#MODELE</code> doit être inséré dans vos squelettes à l\'endroit où vous voulez faire apparaître votre service.</li>
<li>Insérer le(s) modèle(s) éventuel(s) du service à l\'endroit où vous voulez faire apparaître le service grâce à la balise #MODELE où directement dans du contenu éditorial via le porte-plume.</li>
<li>Pour faire apparaître un raccourci vers le modèle <b>tac_mon_modele.html</b> dans le porte-plume, ajoutez une icône <b>squelettes/icones_barre/mon_modele.png</b> de 17px de côté pour permettre aux rédacteurs d\'insérer du contenu facilement.</li>
<li>En cas de problème avec le plugin ou un service en particulier, créez une issue sur <a href="https://git.spip.net/spip-contrib-extensions/tarteaucitron/issues" target="_blank">le dépôt du plugin</a>.</li>',
'cfg_externalcss' => 'Désactiver le CSS de TarteAuCitron',

Loading…
Cancel
Save