Compare commits

...

47 Commits

Author SHA1 Message Date
Pierretux 2e60c6c306 build: v1.5.1 4 weeks ago
Pierretux 6a39549a4b Merge pull request 'issue_30' (#31) from issue_30 into master
Reviewed-on: #31
4 weeks ago
RealET b46dd135e0 style : suivre les bonnes pratique pour produire une CSS statique 4 weeks ago
RealET 58a9a60a1f fix #30 : un warning PHP en moins (dans le squelette) 4 weeks ago
Pierretux d499fcc11c chore: il faut mettre des datas ici et plus des data 3 months ago
paidge caaafd8074 Mise à jour de 'paquet.xml'
compatibilité SPIP 4.2
3 months ago
Pierretux 8fabf09480 v1.5.0 4 months ago
Pierretux 093c465d80 build : gestion de eulerian et améliorations sur les surcharges d'un site 4 months ago
Pierretux bd67568e4d Si on utilise le service atinternet, bien mettre en base l'url du service et plus que l'id 4 months ago
Pierretux ec072df761 Pour les services qui ont une section "More" dans le script, on peut géré cette partie en fournissant un fichier service/nom_service.html qui sera pris en compte 4 months ago
Pierretux 189390032a afficher les saisies dans le php avant le traitement, plus logique 4 months ago
Pierretux 1c1e048fc4 unset le service concerné pour ne pas le garder en mémoire suite au renommage 4 months ago
Pierretux 48ea9b4ac8 Fix #29 : Notice en moins sur php 8.1 4 months ago
Pierre KUHN 273589b13a build : maj des modeles suite à la Maj de la lib 4 months ago
Pierre KUHN 3e8e80f4db build : Maj librairie TAC 4 months ago
Pierre KUHN eee9bd8753 fix : quand on utilise le service atinternet mettre l'url dans la meta, ordre alpha pour les services 4 months ago
pierrekuhn87 e1c9665538 Merge branch 'master' of https://git.spip.net/spip-contrib-extensions/tarteaucitron 7 months ago
pierrekuhn87 af07a204d5 v1.4.2 : quand on utilise le porte plume, ne pas mettre 2 fois tac_ 7 months ago
pierrekuhn87 4172c047a7 v1.4.2 : quand on utilise le porte plume, ne pas mettre 2 fois tac_ 7 months ago
Salvatore 75c44eab7b [Salvatore] [source:lang/ tarteaucitron] Export depuis https://trad.spip.net de la langue fr
[Salvatore] [source:lang/ tarteaucitron] Mise a jour du bilan depuis https://trad.spip.net
7 months ago
pierrekuhn87 6d89f84bab v1.4.1 : Mise à jour de Tarteaucitron en 1.9.9 7 months ago
Salvatore 683d8a590a [Salvatore] [source:lang/ tarteaucitron] Export depuis https://trad.spip.net de la langue de
[Salvatore] [source:lang/ tarteaucitron] Export depuis https://trad.spip.net de la langue fr
[Salvatore] [source:lang/ tarteaucitron] Mise a jour du bilan depuis https://trad.spip.net
8 months ago
Salvatore c11a6acfe9 [Salvatore] [source:lang/ paquet-tarteaucitron] Export depuis https://trad.spip.net de la langue de
[Salvatore] [source:lang/ paquet-tarteaucitron] Export depuis https://trad.spip.net de la langue fr
[Salvatore] [source:lang/ paquet-tarteaucitron] Mise a jour du bilan depuis https://trad.spip.net
8 months ago
pierrekuhn87 34c44ec508 fin de ligne vide on supprime 8 months ago
Salvatore f0f9dda9f6 [Salvatore] [source:lang/ tarteaucitron] Export depuis https://trad.spip.net de la langue de
[Salvatore] [source:lang/ tarteaucitron] Export depuis https://trad.spip.net de la langue fr
[Salvatore] [source:lang/ tarteaucitron] Mise a jour du bilan depuis https://trad.spip.net
8 months ago
Salvatore 1c9108ea44 [Salvatore] [source:lang/ paquet-tarteaucitron] Export depuis https://trad.spip.net de la langue de
[Salvatore] [source:lang/ paquet-tarteaucitron] Export depuis https://trad.spip.net de la langue fr
[Salvatore] [source:lang/ paquet-tarteaucitron] Mise a jour du bilan depuis https://trad.spip.net
8 months ago
pierrekuhn87 4c50fc1a70 Merge branch 'master' of https://git.spip.net/spip-contrib-extensions/tarteaucitron 8 months ago
pierrekuhn87 538311dfd4 V1.4.0 8 months ago
Pierretux 40fcec44f3 Merge pull request 'Mise à jour / Configuration des services' (#28) from dev/bogue_services into master
Reviewed-on: #28
8 months ago
pierrekuhn87 b9285dfd88 Merge branch 'dev/maj_lib_197' 8 months ago
Pierretux f7342ae508 Merge pull request 'Config de base' (#27) from dev/bogue_config into master
Reviewed-on: #27
8 months ago
klaus++ 4a9a0e49c6 [Salvatore] [source:lang/ tarteaucitron] Export depuis https://trad.spip.net de la langue de
[Salvatore] [source:lang/ tarteaucitron] Mise a jour du bilan depuis https://trad.spip.net
9 months ago
klaus++ 8eebf6b147 [Salvatore] [source:lang/ paquet-tarteaucitron] Export depuis https://trad.spip.net de la langue de
[Salvatore] [source:lang/ paquet-tarteaucitron] Mise a jour du bilan depuis https://trad.spip.net
9 months ago
pierrekuhn87 3554c00f78 cela ne sert plus 9 months ago
pierrekuhn87 26297c5f8a Mise à jour des services sur un update du plugins sans les ptac_pX qui pouvait changer 9 months ago
Pierre KUHN 413cb14ab4 Quand les services de la lib sont mis à jour : rajout d'un input pour une nouvelle valeur et que l'on utilise déjà un service, on ne pouvait pas le mettre à jour sans le supprimer donc on repasse par le fichier json pour avec la liste des params à mettre à jour. 9 months ago
Pierre KUHN 299bda87b9 Mise à jour des services et on ne garde pas le nom du service avec un id dans la configuration des services car quand la lib rajoute un service cela change les numéro donc on perds la config 9 months ago
Pierre KUHN 4285631b4e mise en page du code 9 months ago
Pierre KUHN 7a2a522f2f On fait le _request sur le $name pour ave le bon service, le replace posait plus de problème que de l'aide en fonction des services. 9 months ago
Pierre KUHN 080975be61 Quand on mets à jour le plugins, on supprime les services sans valeur sinon il reste en base et ne sont pas visible dans la liste des services actifs
Rajouter le ptac_ qui semble sur tout les services désormait.
9 months ago
Pierre KUHN 0780154ab5 La mise à jour des services ne fonctionne pas, on corrige les name des input pour que cela soit fonctionnel + corrige le pipeline pour que les infos soit bien utiliser. 9 months ago
Pierre KUHN 7ca9b972ec Dans le commit 383674f0d7, on passe de twice à both dans le formulaire, en faire de même dans l'installation. 9 months ago
pierrekuhn87 354181a480 maj librairie 1.9.7 11 months ago
Paidge c85da131e3 UP de version 1 year ago
Paidge e928506c56 MAJ de la lib TAC 1 year ago
Pierre-Jean CHANCELLIER ba8711f7cb fix issue #23 : ajout de guillemets autour de cookieDomain 1 year ago
Salvatore 2d540a0013 [Salvatore] [source:lang/ tarteaucitron] Export depuis https://trad.spip.net de la langue de
[Salvatore] [source:lang/ tarteaucitron] Export depuis https://trad.spip.net de la langue fr
[Salvatore] [source:lang/ tarteaucitron] Mise a jour du bilan depuis https://trad.spip.net
2 years ago

@ -0,0 +1,7 @@
# Changelog
## 1.4.1 - 2022-10-24
### Changed
- Mise à jour de Tarteaucitron en 1.9.9

@ -671,4 +671,4 @@ into proprietary programs. If your program is a subroutine library, you
may consider it more useful to permit linking proprietary applications with
the library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License. But first, please read
<https://www.gnu.org/licenses/why-not-lgpl.html>.
<https://www.gnu.org/licenses/why-not-lgpl.html>.

@ -14,4 +14,4 @@ La documentation est ici : https://contrib.spip.net/Tarteaucitron-5292
Vous pouvez ajouter le marqueur de certains services dans du contenu éditorial grâce aux modèles fournis par le plugin (voir le dossier ***/modeles*** du plugin). Si l'entrée n'existe pas dans le porte-plume, il suffit de créer une icône carrée de 17px de côté dans ***/squelettes/icones_barre/tac_mon_modele.png***. Si des articles antérieurs contiennent des iframes pour ces services, il faut traiter le contenu éditorial ancien.
#### Traiter du contenu édiorial ancien
Pour traiter du contenu ancien, adaptez le fichier ***action/tarteaucitron_nettoyer_iframes.php*** en fonction de vos besoins et appelez-le via le bouton de l'onglet technique (***ecrire/?exec=configurer_technique***) ou directement par l'url ***spip.php?action=tarteaucitron_nettoyer_iframes***. Il s'agit d'une adaptation du script présent dans le plugin **oembed**.
Pour traiter du contenu ancien, adaptez le fichier ***action/tarteaucitron_nettoyer_iframes.php*** en fonction de vos besoins et appelez-le via le bouton de l'onglet technique (***ecrire/?exec=configurer_technique***) ou directement par l'url ***spip.php?action=tarteaucitron_nettoyer_iframes***. Il s'agit d'une adaptation du script présent dans le plugin **oembed**.

@ -5,7 +5,7 @@
*
*/
if (!defined('_ECRIRE_INC_VERSION')){
if (!defined('_ECRIRE_INC_VERSION')) {
return;
}
@ -14,39 +14,39 @@ if (!defined('_ECRIRE_INC_VERSION')){
* appelé avec ?action=tarteaucitron_activer_service&service=service
* autorisé pour les seuls webmestres
*/
function action_tarteaucitron_activer_service_dist(){
function action_tarteaucitron_activer_service_dist() {
include_spip('inc/autoriser');
if (!autoriser('webmestre')){
if (!autoriser('webmestre')) {
die('Pas autorise');
}
include_spip('inc/tarteaucitron');
$service = _request('service');
$service = _request('service');
$list_services = tarteaucitron_liste_services();
if (!array_key_exists($service,$list_services)) {
die('Service inexistant');
}
if (!array_key_exists($service,$list_services)) {
die('Service inexistant');
}
if ($list_services[$service]['statut']=='actif') {
die('Service déjà actif');
}
if ($list_services[$service]['statut']=='actif') {
die('Service déjà actif');
}
include_spip('inc/config');
include_spip('inc/config');
$services_actifs = lire_config("tarteaucitron/services");
$services_actifs[$service] = array();
$services_actifs = lire_config("tarteaucitron/services");
$services_actifs[$service] = array();
$json_source = find_in_path('json/services.json');
$json = file_get_contents($json_source);
$parsed_json = json_decode($json);
$params = $parsed_json->{$service}->{'params'};
$json_source = find_in_path('json/services.json');
$json = file_get_contents($json_source);
$parsed_json = json_decode($json);
$params = $parsed_json->{$service}->{'params'};
foreach($params as $param) {
$services_actifs[$service][$param] = substr($param,5);
}
foreach($params as $param) {
$services_actifs[$service][$param] = substr($param,5);
}
ecrire_config("tarteaucitron/services/", $services_actifs);
}

@ -5,7 +5,7 @@
*
*/
if (!defined('_ECRIRE_INC_VERSION')){
if (!defined('_ECRIRE_INC_VERSION')) {
return;
}
@ -14,30 +14,30 @@ if (!defined('_ECRIRE_INC_VERSION')){
* appelé avec ?action=tarteaucitron_desactiver_service&service=service
* autorisé pour les seuls webmestres
*/
function action_tarteaucitron_desactiver_service_dist(){
function action_tarteaucitron_desactiver_service_dist() {
include_spip('inc/autoriser');
if (!autoriser('webmestre')){
if (!autoriser('webmestre')) {
die('Pas autorise');
}
include_spip('inc/tarteaucitron');
$service = _request('service');
$list_services = tarteaucitron_liste_services();
$service = _request('service');
$list_services = tarteaucitron_liste_services();
if (!array_key_exists($service,$list_services)) {
die('Service inexistant');
}
if (!array_key_exists($service,$list_services)) {
die('Service inexistant');
}
if ($list_services[$service]['statut']=='inactif') {
die('Service déjà inactif');
}
if ($list_services[$service]['statut']=='inactif') {
die('Service déjà inactif');
}
include_spip('inc/config');
$services_actifs = lire_config("tarteaucitron/services");
include_spip('inc/config');
$services_actifs = lire_config("tarteaucitron/services");
unset($services_actifs[$service]);
unset($services_actifs[$service]);
ecrire_config("tarteaucitron/services", $services_actifs);
}

@ -5,7 +5,7 @@
*
*/
if (!defined('_ECRIRE_INC_VERSION')){
if (!defined('_ECRIRE_INC_VERSION')) {
return;
}
@ -15,19 +15,19 @@ if (!defined('_ECRIRE_INC_VERSION')){
* appelé avec ?action=tarteaucitron_nettoyer_iframes
* autorisé pour les seuls webmestres
*/
function action_tarteaucitron_nettoyer_iframes_dist(){
function action_tarteaucitron_nettoyer_iframes_dist() {
include_spip('inc/autoriser');
include_spip('inc/filtres');
include_spip('action/editer_objet');
if (!autoriser('webmestre')){
if (!autoriser('webmestre')) {
die('Pas autorise');
}
echo '<h1>Conversion des &lt;iframe&gt;</h1>';
$simu = true;
if (_request('modif')){
if (_request('modif')) {
$simu = false;
}
if ($simu){
if ($simu) {
echo "<p><strong>mode SIMULATION</strong> (ajoutez &modif=1 dans l'url pour modifier les contenus)</p>";
}
@ -35,25 +35,25 @@ function action_tarteaucitron_nettoyer_iframes_dist(){
'spip_articles' => array('descriptif', 'chapo', 'texte', 'ps'),
);
foreach ($tables as $table => $champs){
foreach ($tables as $table => $champs) {
$objet = objet_type($table);
foreach ($champs as $champ){
foreach ($champs as $champ) {
$primary = id_table_objet($table);
$res = sql_select("$primary,$champ", $table, "$champ LIKE '%iframe%' OR $champ LIKE '%object%'");
while ($row = sql_fetch($res)){
while ($row = sql_fetch($res)) {
$pre = "$primary=" . $row[$primary] . ":$champ:";
$texte = $row[$champ];
$iframes = extraire_balises($texte, 'iframe');
if (count($iframes)){
foreach ($iframes as $iframe){
if (count($iframes)) {
foreach ($iframes as $iframe) {
$url = '';
$src = extraire_attribut($iframe, 'src');
if (strncmp($src, '//', 2)==0){
if (strncmp($src, '//', 2)==0) {
$src = 'http:' . $src;
}
if (strpos($iframe, 'youtube')!==false){
if (strpos($src, '/embed/')!==false){
if (strpos($iframe, 'youtube')!==false) {
if (strpos($src, '/embed/')!==false) {
$url = str_replace('?', '&', $src);
$url = str_replace('/embed/videoseries&', '/playlist?', $url);
$url = str_replace('/embed/', '/watch?v=', $url);
@ -63,26 +63,26 @@ function action_tarteaucitron_nettoyer_iframes_dist(){
echo "$pre Youtube " . entites_html($url) . "<br />";
}
if (!$url){
if (!$url) {
var_dump($row);
var_dump(entites_html($iframe));
die('youtube inconnue');
}
} elseif (strpos($iframe, 'dailymotion')!==false) {
if (strpos($src, '/embed/')!==false){
if (strpos($src, '/embed/')!==false) {
$url = str_replace('/embed/', '/', $src);
$url = explode('?', $url);
$url = reset($url);
$url = "<tac_dailymotion|id=" . strtok(basename($url), '_') . ">";
echo "$pre DailyMotion" . entites_html($url) . "<br />";
}
if (!$url){
if (!$url) {
var_dump($row);
var_dump($iframe);
die('dailymotion inconnue');
}
} elseif (strpos($iframe, 'player.vimeo')!==false) {
if (strpos($src, '/video/')!==false){
if (strpos($src, '/video/')!==false) {
$url = str_replace('/video/', '/', $src);
$url = str_replace('player.vimeo', 'vimeo', $url);
$url = explode('?', $url);
@ -91,7 +91,7 @@ function action_tarteaucitron_nettoyer_iframes_dist(){
$url = "<tac_vimeo|id=" . $match[3] . ">";
echo "$pre Vimeo " . entites_html($url) . "<br />";
}
if (!$url){
if (!$url) {
var_dump($row);
var_dump($iframe);
die('vimeo inconnue');
@ -120,14 +120,14 @@ function action_tarteaucitron_nettoyer_iframes_dist(){
die('soundcloud inconnue');
}
} */ elseif (strpos($iframe, 'www.google.com/calendar') !== false) {
if (strpos($src, '/embed')!==false){
if (strpos($src, '/embed')!==false) {
preg_match('#(src=)(\w+)$#', $src, $match);
$url = "<tac_gagenda|id=" . $match[2] . ">";
echo "$pre Google Agenda " . entites_html($url) . "<br />";
}
} elseif (strpos($iframe, 'www.canal-u.tv/video') !== false) {
if (strpos($src, '/embed')!==false){
if (strpos($src, '/embed')!==false) {
preg_match('#(/embed.1/)(.+)(\?)#', $src, $match);
$url = "<tac_canalu|id=" . $match[2] . ">";
$divs = extraire_balises($texte, 'div');
@ -140,7 +140,7 @@ function action_tarteaucitron_nettoyer_iframes_dist(){
echo "$pre Canal-U.tv " . entites_html($url) . "<br />";
}
} elseif (strpos($iframe, 'webtv.normandie-univ.fr') !== false) {
if (strpos($src, '/permalink/')!==false){
if (strpos($src, '/permalink/')!==false) {
preg_match('#(/permalink/)(\w+)(/iframe)#', $src, $match);
$url = "<tac_webtvnu|id=" . $match[2] . ">";
echo "$pre WebTV Normandie Université " . entites_html($url) . "<br />";
@ -148,17 +148,17 @@ function action_tarteaucitron_nettoyer_iframes_dist(){
} else {
echo "$pre iframe inconnue : " . entites_html($iframe) . '<br />';
}
if ($url){
if ($url) {
$texte = str_replace($iframe, "\n\n" . $url . "\n\n", $texte);
if (preg_match(',<center>\s*' . preg_quote($url, ',') . '.*</center>,Uims', $texte, $m)){
if (preg_match(',<center>\s*' . preg_quote($url, ',') . '.*</center>,Uims', $texte, $m)) {
$texte = str_replace($m[0], "\n\n" . $url . "\n\n", $texte);
}
$texte = preg_replace(',\s+' . preg_quote($url, ',') . '\s+,ims', "\n\n" . $url . "\n\n", $texte);
}
}
if ($texte!==$row[$champ]){
if ($texte!==$row[$champ]) {
echo "$pre Corrige $champ <br />";
if (!$simu){
if (!$simu) {
echo "$pre Corrige $champ <br />";
objet_modifier($objet, $row[$primary], array($champ => $texte));
} else {
@ -167,22 +167,22 @@ function action_tarteaucitron_nettoyer_iframes_dist(){
}
}
$objects = extraire_balises($texte, 'object');
if (count($objects)){
foreach ($objects as $object){
if (count($objects)) {
foreach ($objects as $object) {
$url = '';
$src = extraire_attribut($object, 'data');
if (strncmp($src, '//', 2)==0){
if (strncmp($src, '//', 2)==0) {
$src = 'http:' . $src;
}
if (strpos($src, 'youtube')!==false){
if (strpos($src, '/v/')!==false){
if (strpos($src, 'youtube')!==false) {
if (strpos($src, '/v/')!==false) {
$url = str_replace('?', '&', $src);
$url = str_replace('/v/', '/watch?v=', $url);
} elseif (strpos($src, '/embed/')!==false) {
$url = str_replace('?', '&', $src);
$url = str_replace('/embed/', '/watch?v=', $url);
}
if (!$url){
if (!$url) {
var_dump($row);
var_dump(entites_html($object));
die('youtube inconnue');
@ -192,7 +192,7 @@ function action_tarteaucitron_nettoyer_iframes_dist(){
echo "$pre Youtube " . entites_html($url) . "<br />";
}
} elseif (strpos($src, 'dailymotion')!==false) {
if (strpos($src, '/swf/video/')!==false){
if (strpos($src, '/swf/video/')!==false) {
$url = str_replace('/swf/video/', '/video/', $src);
$url = explode('?', $url);
$url = reset($url);
@ -201,7 +201,7 @@ function action_tarteaucitron_nettoyer_iframes_dist(){
$url = explode('?', $url);
$url = reset($url);
}
if (!$url){
if (!$url) {
var_dump($row);
var_dump($object);
die('dailymotion inconnue');
@ -211,12 +211,12 @@ function action_tarteaucitron_nettoyer_iframes_dist(){
}
} elseif (strpos($src, 'vimeo.com')!==false) {
if (strpos($src, 'moogaloop')!==false
and $id = parametre_url($src, 'clip_id')){
and $id = parametre_url($src, 'clip_id')) {
$url = "https://vimeo.com/$id";
} elseif (strpos($src, '/video/')!==false) {
$url = $src;
}
if (!$url){
if (!$url) {
var_dump($row);
var_dump(entites_html($object));
die('vimeo inconnue');
@ -228,16 +228,16 @@ function action_tarteaucitron_nettoyer_iframes_dist(){
} else {
echo "$pre object inconnue : " . entites_html($object) . '<br />';
}
if ($url){
if ($url) {
$texte = str_replace($object, "\n\n" . $url . "\n\n", $texte);
if (preg_match(',<center>\s*' . preg_quote($url, ',') . '.*</center>,Uims', $texte, $m)){
if (preg_match(',<center>\s*' . preg_quote($url, ',') . '.*</center>,Uims', $texte, $m)) {
$texte = str_replace($m[0], "\n\n" . $url . "\n\n", $texte);
}
$texte = preg_replace(',\s+' . preg_quote($url, ',') . '\s+,ims', "\n\n" . $url . "\n\n", $texte);
}
}
if ($texte!==$row[$champ]){
if (!$simu){
if ($texte!==$row[$champ]) {
if (!$simu) {
echo "$pre Corrige $champ <br />";
objet_modifier($objet, $row[$primary], array($champ => $texte));
} else {
@ -248,4 +248,4 @@ function action_tarteaucitron_nettoyer_iframes_dist(){
}
}
}
}
}

@ -5,7 +5,7 @@
*
*/
if (!defined('_ECRIRE_INC_VERSION')){
if (!defined('_ECRIRE_INC_VERSION')) {
return;
}
@ -14,16 +14,16 @@ if (!defined('_ECRIRE_INC_VERSION')){
* appelé avec ?action=tarteaucitron_referencer_services
* autorisé pour les seuls webmestres
*/
function action_tarteaucitron_referencer_services_dist(){
function action_tarteaucitron_referencer_services_dist() {
include_spip('inc/autoriser');
if (!autoriser('webmestre')){
if (!autoriser('webmestre')) {
die('Pas autorise');
}
$list_services = array();
$services_specifiques = array();
if ($lines=file(find_in_path('lib/tarteaucitron/tarteaucitron.services.js'))){
if ($lines=file(find_in_path('lib/tarteaucitron/tarteaucitron.services.js'))) {
$i=0;
foreach($lines as $line) {
if(preg_match('/^tarteaucitron\.services\.(\w+)/', $line, $matches)) {
@ -110,7 +110,7 @@ function action_tarteaucitron_referencer_services_dist(){
$param_list = $span->getElementsByTagName('b');
$nb_params = $param_list->length;
$j = $nb_params -1;
while ($j > -1) {
$param = $param_list[$j];
$nom_param = str_replace(" ","_",$param->textContent);
@ -131,7 +131,7 @@ function action_tarteaucitron_referencer_services_dist(){
$pattern[] = '/(\s?[\w\-.]*\s?[=:]?\s?[\'\"]?' . quotemeta($nom_param) . '[\'\"]?\w*[,;]?)/';
}
$newelement = $doc->createTextNode($nom_param);
$newelement = $doc->createTextNode($nom_param);
$span->replaceChild($newelement,$param);
$j--;
}
@ -142,7 +142,7 @@ function action_tarteaucitron_referencer_services_dist(){
// On ajoute les crochets pour la syntaxe SPIP
$script = preg_replace($pattern,'[${1}]',$script);
}
$script = preg_replace('/(\n\s+)/', "\n", $script);
$script = str_replace("''","'",$script);

@ -5,7 +5,7 @@
*
*/
if (!defined('_ECRIRE_INC_VERSION')){
if (!defined('_ECRIRE_INC_VERSION')) {
return;
}
@ -15,11 +15,11 @@ if (!defined('_ECRIRE_INC_VERSION')){
* au format json
* appelé avec ?exec=tarteaucitron_liste_services
*/
function exec_tarteaucitron_liste_services_dist(){
function exec_tarteaucitron_liste_services_dist() {
include_spip('inc/tarteaucitron');
include_spip('inc/autoriser');
if (!autoriser('webmestre')){
if (!autoriser('webmestre')) {
die('Pas autorise');
}
@ -27,4 +27,4 @@ function exec_tarteaucitron_liste_services_dist(){
$list_services = tarteaucitron_liste_services();
echo json_encode($list_services);
}
}

@ -58,7 +58,7 @@
jQuery.each(services, function(service, prop) {
var status = ''
var properties = Object.entries(prop)
jQuery.each(properties, function(i,property){
jQuery.each(properties, function(i,property) {
if (property[0]=='statut') {
status = property[1]
}

@ -22,4 +22,4 @@
<p class="boutons"><span class="image_loading">&nbsp;</span><input type="submit" class="submit" value="<:bouton_enregistrer:>" /></p>
</div>
</form>
</div>
</div>

@ -1,6 +1,6 @@
<?php
if (!defined('_ECRIRE_INC_VERSION')) return;
// Nécessaire pour bigup
/**
* @param array $args
@ -14,15 +14,15 @@ function inc_bigup_medias_formulaire_configurer_tarteaucitron_ouverture_dist($ar
);
return $formulaire;
}
function formulaires_configurer_tarteaucitron_ouverture_charger_dist(){
function formulaires_configurer_tarteaucitron_ouverture_charger_dist() {
// Nécessaire pour bigup
$valeurs['_bigup_rechercher_fichiers'] = true;
return $valeurs;
}
function formulaires_configurer_tarteaucitron_ouverture_verifier_dist(){
function formulaires_configurer_tarteaucitron_ouverture_verifier_dist() {
$erreurs = array();
if (!empty($_FILES['upload_icon'])) {
$file = $_FILES['upload_icon'];
@ -32,7 +32,7 @@ function formulaires_configurer_tarteaucitron_ouverture_verifier_dist(){
'hauteur_max' => 50,
'largeur_max' => 50
);
if ($erreur = $verifier($file, 'fichiers', $options_verif)) {
$erreurs['upload_icon'] = $erreur;
$dest = $file['tmp_name'];
@ -45,7 +45,7 @@ function formulaires_configurer_tarteaucitron_ouverture_verifier_dist(){
return $erreurs;
}
function formulaires_configurer_tarteaucitron_ouverture_traiter_dist(){
function formulaires_configurer_tarteaucitron_ouverture_traiter_dist() {
include_spip('inc/cvt_configurer');
$retours = [
@ -57,7 +57,7 @@ function formulaires_configurer_tarteaucitron_ouverture_traiter_dist(){
if ($icone_actuelle = lire_config('tarteaucitron/icon')) {
set_request('icon', $icone_actuelle);
}
// On enregistre la nouvelle configuration
$trace = cvtconf_formulaires_configurer_enregistre('configurer_tarteaucitron_ouverture', array());
@ -98,7 +98,7 @@ function formulaires_configurer_tarteaucitron_ouverture_traiter_dist(){
return $retours;
}
function formulaires_configurer_tarteaucitron_ouverture_saisies_dist(){
function formulaires_configurer_tarteaucitron_ouverture_saisies_dist() {
$saisies = array(
array(
'saisie' => 'selection',
@ -107,7 +107,7 @@ function formulaires_configurer_tarteaucitron_ouverture_saisies_dist(){
'option_intro' => '<:tarteaucitron:cfg_aucun:>',
'label' => '<:tarteaucitron:cfg_ouverture_type:>',
'defaut' => '',
'data' => array(
'datas' => array(
'image' => '<:tarteaucitron:cfg_image:>',
'alertSmall' => '<:tarteaucitron:cfg_small_alert:>'
)
@ -120,7 +120,7 @@ function formulaires_configurer_tarteaucitron_ouverture_saisies_dist(){
'label' => '<:tarteaucitron:cfg_iconposition:>',
'cacher_option_intro' => 'oui',
'defaut' => 'BottomRight',
'data' => array(
'datas' => array(
'BottomRight' => '<:tarteaucitron:cfg_position_bd:>',
'BottomLeft' => '<:tarteaucitron:cfg_position_bg:>',
'TopRight' => '<:tarteaucitron:cfg_position_hd:>',
@ -148,7 +148,7 @@ function formulaires_configurer_tarteaucitron_ouverture_saisies_dist(){
'nom' => 'cookieslist',
'label' => '<:tarteaucitron:cfg_cookieslist:>',
'explication' => '<:tarteaucitron:cfg_cookieslist_explication:>',
'data' => array(
'datas' => array(
'true' => '<:item_oui:>'
),
'afficher_si' => '@ouverture@ == "alertSmall"'

@ -17,4 +17,4 @@
<p class="boutons"><span class="image_loading">&nbsp;</span><input type="submit" class="submit" value="<:bouton_enregistrer:>" /></p>
</div>
</form>
</div>
</div>

@ -1,83 +1,83 @@
<?php
if (!defined('_ECRIRE_INC_VERSION')) return;
/**
* Un simple formulaire de config,
* on a juste à déclarer les saisies
**/
function formulaires_configurer_tarteaucitron_panneau_saisies_dist(){
function formulaires_configurer_tarteaucitron_panneau_saisies_dist() {
// $saisies est un tableau décrivant les saisies à afficher dans le formulaire de configuration
$saisies = array(
array(
'saisie' => 'textarea',
'options' => array(
'nom' => 'lang_disclaimer',
'label' => '<:tarteaucitron:cfg_text_disclaimer:>',
'explication' => '<:tarteaucitron:cfg_text_disclaimer_explication:>',
'rows' => 3
'label' => '<:tarteaucitron:cfg_text_disclaimer:>',
'explication' => '<:tarteaucitron:cfg_text_disclaimer_explication:>',
'rows' => 3
)
),
array(
),
array(
'saisie' => 'checkbox',
'options' => array(
'nom' => 'mandatory',
'label' => '<:tarteaucitron:cfg_mandatory:>',
'explication' => '<:tarteaucitron:cfg_mandatory_explication:>',
'data' => array(
'true' => '<:item_oui:>'
)
'label' => '<:tarteaucitron:cfg_mandatory:>',
'explication' => '<:tarteaucitron:cfg_mandatory_explication:>',
'datas' => array(
'true' => '<:item_oui:>'
)
)
),
array(
),
array(
'saisie' => 'checkbox',
'options' => array(
'nom' => 'moreInfoLink',
'label' => '<:tarteaucitron:cfg_moreinfolink:>',
'data' => array(
'true' => '<:item_oui:>'
)
'label' => '<:tarteaucitron:cfg_moreinfolink:>',
'datas' => array(
'true' => '<:item_oui:>'
)
)
),
array(
'saisie' => 'input',
),
array(
'saisie' => 'input',
'options' => array(
'nom' => 'readmoreLink',
'label' => '<:tarteaucitron:cfg_readmorelink:>',
'explication' => '<:tarteaucitron:cfg_readmorelink_explication:>',
'afficher_si' => '@moreInfoLink@ == "true"'
'label' => '<:tarteaucitron:cfg_readmorelink:>',
'explication' => '<:tarteaucitron:cfg_readmorelink_explication:>',
'afficher_si' => '@moreInfoLink@ == "true"'
)
),
array(
'saisie' => 'checkbox',
'options' => array(
'nom' => 'groupServices',
'label' => '<:tarteaucitron:cfg_group_services:>',
'explication' => '<:tarteaucitron:cfg_group_services_explication:>',
'datas' => array(
'true' => '<:item_oui:>'
)
)
),
array(
'saisie' => 'checkbox',
'options' => array(
'nom' => 'groupServices',
'label' => '<:tarteaucitron:cfg_group_services:>',
'explication' => '<:tarteaucitron:cfg_group_services_explication:>',
'data' => array(
'true' => '<:item_oui:>'
)
)
),
array(
'saisie' => 'checkbox',
),
array(
'saisie' => 'checkbox',
'options' => array(
'nom' => 'removeCredit',
'label' => '<:tarteaucitron:cfg_remove_credit:>',
'explication' => '<:tarteaucitron:cfg_remove_credit_explication:>',
'attention' => '<:tarteaucitron:cfg_remove_credit_attention:>',
'data' => array(
'true' => '<:item_oui:>'
)
'label' => '<:tarteaucitron:cfg_remove_credit:>',
'explication' => '<:tarteaucitron:cfg_remove_credit_explication:>',
'attention' => '<:tarteaucitron:cfg_remove_credit_attention:>',
'datas' => array(
'true' => '<:item_oui:>'
)
)
),
array(
'saisie' => 'hidden',
'options' => array(
'nom' => '_meta_casier',
'defaut' => 'tarteaucitron'
)
),
array(
'saisie' => 'hidden',
'options' => array(
'nom' => '_meta_casier',
'defaut' => 'tarteaucitron'
)
)
)
);
return $saisies;
}

@ -1,16 +1,16 @@
<div id="formulaire_#FORM"" class="formulaire_spip formulaire_configurer formulaire_#FORM">
<div class="box__header">
<div id="formulaire_#FORM" class="formulaire_spip formulaire_configurer formulaire_#FORM">
<div class="box__header">
<h3><:tarteaucitron:cfg_titre_activation_services:></h3>
</div>
[<p class="reponse_formulaire reponse_formulaire_ok">(#ENV*{message_ok})</p>]
[<p class="reponse_formulaire reponse_formulaire_ok">(#ENV*{message_ok})</p>]
[<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</p>]
<form method="post" action="#ENV{action}">
<div>
#ACTION_FORMULAIRE{#ENV{action}}
<div class="editer-groupe">
#GENERER_SAISIES{#ENV{_saisies}}
</div>
<p class="boutons"><span class="image_loading">&nbsp;</span><input type="submit" class="submit" value="<:bouton_enregistrer:>" /></p>
</div>
</form>
</div>
<div>
#ACTION_FORMULAIRE
<div class="editer-groupe">
#GENERER_SAISIES{#ENV{_saisies}}
</div>
<p class="boutons"><span class="image_loading">&nbsp;</span><input type="submit" class="submit" value="<:bouton_enregistrer:>" /></p>
</div>
</form>
</div>

@ -2,123 +2,126 @@
if (!defined('_ECRIRE_INC_VERSION')) return;
include_spip('inc/tarteaucitron');
function formulaires_configurer_tarteaucitron_services_charger_dist(){
$valeurs = array();
$services_actifs = lire_config('tarteaucitron/services', array());
foreach($services_actifs as $service => $params) {
if (!empty($params)) {
$i = 0;
foreach($params as $name => $value) {
$valeurs[$service . '_p' . $i . '_' . substr($name,5)] = $value;
$i++;
}
}
}
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) {
$fieldset = array(
'saisie' => 'fieldset',
'options' => array(
'nom' => $type,
'label' => $type,
'pliable' => 'oui',
'plie' => 'oui'
)
);
foreach($liste_services as $service => $params) {
$has_modele = $parsed_json->{$service}->{'hasModele'};
return $valeurs;
$fieldset['saisies'][] = array(
'saisie' => 'checkbox',
'options' => array(
'nom' => $service . '_actif',
'disable' => 'oui',
'datas' => array(
$service => $service
),
'defaut' => array($service)
)
);
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) {
$param = substr($param,5);
$defaut = is_array($service) ? $service : $service.'/'.$param;
$fieldset['saisies'][] = array(
'saisie' => 'input',
'options' => array(
'nom' => $param,
'label' => $param,
'explication' => _T('tarteaucitron:cfg_parametre_service', array('service' => $service)),
'placeholder' => $param,
'defaut' => lire_config('tarteaucitron/services/'.$defaut),
'obligatoire' => 'oui'
)
);
$i++;
}
}
$saisies[] = $fieldset;
}
return $saisies;
}
function formulaires_configurer_tarteaucitron_services_traiter_dist(){
$ret = array();
$services_actifs = lire_config('tarteaucitron/services', array());
foreach($services_actifs as $service => $params) {
if (!empty($params)) {
$i = 0;
foreach($params as $name => $value) {
$valeur_saisie = _request($service . '_p' . $i . '_' . substr($name,5));
$valeur_saisie = is_null($valeur_saisie) ? '' : $valeur_saisie;
$services_actifs[$service][$name] = $valeur_saisie;
$i++;
}
}
}
if (ecrire_config('tarteaucitron/services',$services_actifs)) {
$ret['message_ok'] = _T('config_info_enregistree');
} else {
$ret['message_erreur'] = _T('erreur_technique_enregistrement_impossible');
}
$ret['editable'] = true;
return $ret;
function formulaires_configurer_tarteaucitron_services_charger_dist() {
$valeurs = array();
$services_actifs = lire_config('tarteaucitron/services', array());
foreach($services_actifs as $service => $params) {
if (!empty($params)) {
foreach($params as $name => $value) {
$valeurs[$service] = $value;
}
}
}
return $valeurs;
}
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) {
$fieldset = array(
'saisie' => 'fieldset',
'options' => array(
'nom' => $type,
'label' => $type,
'pliable' => 'oui',
'plie' => 'oui'
)
);
foreach($liste_services as $service => $params) {
$has_modele = $parsed_json->{$service}->{'hasModele'};
$fieldset['saisies'][] = array(
'saisie' => 'checkbox',
'options' => array(
'nom' => $service . '_actif',
'disable' => 'oui',
'datas' => array(
$service => $service
),
'defaut' => array($service)
)
);
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) {
$param = substr($param,5);
$fieldset['saisies'][] = array(
'saisie' => 'input',
'options' => array(
'nom' => $service . '_p' . $i . '_' . $param,
'label' => $param,
'explication' => 'Enter this parameter for ' . $service,
'placeholder' => $param,
'obligatoire' => 'oui'
)
);
$i++;
}
}
$saisies[] = $fieldset;
}
return $saisies;
function formulaires_configurer_tarteaucitron_services_traiter_dist() {
$ret = array();
$services_actifs = lire_config('tarteaucitron/services', array());
$json_source = find_in_path('json/services.json');
$json = file_get_contents($json_source);
$parsed_json = json_decode($json);
foreach($services_actifs as $service => $params) {
if (isset($parsed_json->{$service}->{'params'}) and $params = $parsed_json->{$service}->{'params'}) {
$i = 0;
foreach($params as $name => $value) {
$valeur_saisie = _request(substr($value,5));
$valeur_saisie = is_null($valeur_saisie) ? '' : $valeur_saisie;
$services_actifs[$service][substr($value,5)] = $valeur_saisie;
$i++;
}
}
}
if (ecrire_config('tarteaucitron/services',$services_actifs)) {
$ret['message_ok'] = _T('config_info_enregistree');
} else {
$ret['message_erreur'] = _T('erreur_technique_enregistrement_impossible');
}
$ret['editable'] = true;
return $ret;
}

@ -30,9 +30,9 @@
"removeCredit": [(#CONFIG{tarteaucitron/removeCredit}|table_valeur{0}|?{true,false})], /* supprimer le lien vers la source ? */
"useExternalCss": [(#CONFIG{tarteaucitron/useExternalCss}|table_valeur{0}|?{true,false})], /* If false, the tarteaucitron.css file will be loaded */
"useExternalJs": false, /* If false, the tarteaucitron.js file will be loaded */
"useExternalJs": false, /* If false, the tarteaucitron.js file will be loaded */
["cookieDomain": (#CONFIG{tarteaucitron/cookieDomain}), /* Shared cookie for multisite */]
["cookieDomain": "(#CONFIG{tarteaucitron/cookieDomain})", /* Shared cookie for multisite */]
"moreInfoLink": [(#CONFIG{tarteaucitron/moreInfoLink}|table_valeur{0}|?{true,false})], /* Show more info link */
["readmoreLink": "/(#CONFIG{tarteaucitron/readmoreLink})", /* Change the default readmore link */]
@ -47,4 +47,4 @@
}
var tarteaucitronForceLanguage = '#LANG';
</script>
</script>

File diff suppressed because one or more lines are too long

@ -5,7 +5,7 @@
url="https://trad.spip.net"
source="https://git.spip.net/spip-contrib-extensions/tarteaucitron.git"
reference="fr">
<langue code="de" url="https://trad.spip.net/tradlang_module/paquet-tarteaucitron?lang_cible=de" total="3" traduits="2" relire="0" modifs="1" nouveaux="0" pourcent="66.67">
<langue code="de" url="https://trad.spip.net/tradlang_module/paquet-tarteaucitron?lang_cible=de" total="3" traduits="3" relire="0" modifs="0" nouveaux="0" pourcent="100.00">
<traducteur nom="klaus++" lien="https://trad.spip.net/auteur/klaus" />
</langue>
<langue code="fr" url="https://trad.spip.net/tradlang_module/paquet-tarteaucitron?lang_cible=fr" total="3" traduits="3" relire="0" modifs="0" nouveaux="0" pourcent="100.00" />

@ -10,8 +10,8 @@ if (!defined('_ECRIRE_INC_VERSION')) {
$GLOBALS[$GLOBALS['idx_lang']] = array(
// T
'tarteaucitron_description' => 'Für SPIP adaptierte Version des Moduls für Cookie-Einverständniserklärungen tarteaucitron.js (kostenlose Version). <br />
Das Plugin ermöglicht Cookies von Drittabietern (Google Analytics, Facebook Pixel, etc.) zu (de)aktivieren uns bietet Besuchern der Website ein Interface zur Verwaltung der persönlichen Einstellungen zu Cookies dieser Anbieter.', # MODIF
'tarteaucitron_description' => 'Für SPIP angepasste Version des Moduls für Cookie-Einverständniserklärungen tarteaucitron.js (kostenlose Version). <br />
Das Plugin ermöglicht Cookies von Drittabietern (Google Analytics, Facebook Pixel, etc.) zu (de)aktivieren und bietet Besuchern der Website ein Interface zur Verwaltung der persönlichen Einstellungen zu Cookies dieser Anbieter.',
'tarteaucitron_nom' => 'Zitronenkuchen',
'tarteaucitron_slogan' => 'DSGVO-konformer Cookiemanager'
);

@ -5,8 +5,8 @@
url="https://trad.spip.net"
source="https://git.spip.net/spip-contrib-extensions/tarteaucitron.git"
reference="fr">
<langue code="de" url="https://trad.spip.net/tradlang_module/tarteaucitron?lang_cible=de" total="76" traduits="28" relire="0" modifs="6" nouveaux="42" pourcent="36.84">
<langue code="de" url="https://trad.spip.net/tradlang_module/tarteaucitron?lang_cible=de" total="97" traduits="96" relire="0" modifs="0" nouveaux="1" pourcent="98.97">
<traducteur nom="klaus++" lien="https://trad.spip.net/auteur/klaus" />
</langue>
<langue code="fr" url="https://trad.spip.net/tradlang_module/tarteaucitron?lang_cible=fr" total="76" traduits="76" relire="0" modifs="0" nouveaux="0" pourcent="100.00" />
<langue code="fr" url="https://trad.spip.net/tradlang_module/tarteaucitron?lang_cible=fr" total="97" traduits="97" relire="0" modifs="0" nouveaux="0" pourcent="100.00" />
</traduction>

@ -10,37 +10,103 @@ if (!defined('_ECRIRE_INC_VERSION')) {
$GLOBALS[$GLOBALS['idx_lang']] = array(
// C
'cfg_adblocker' => 'Meldung wenn Adblocker vorhanden',
'cfg_afficher_bandeau' => 'Banner anzeigen ?',
'cfg_afficher_bandeau_explication' => 'Bei Abwesenheit des Banners wird das Einverständnis mit dem Setzen von Cookies unterstellt. Zur Vermeidung von Nachteilen wird Anzeige des Banners empfohlen.', # MODIF
'cfg_btn_accetpall' => 'Schaltfläche Alle akzeptieren', # MODIF
'cfg_btn_accetpall_explication' => 'Soll die Schaltfläche Alle akzeptieren angezeigt werden? Wenn nicht, wird die Schaltfläche Personalisieren angezeigt.', # MODIF
'cfg_afficher_bandeau_attention' => 'Das Einblenden der Hinweise wird dringend empfohlen.',
'cfg_afficher_bandeau_explication' => 'Wenn kein Banner angezeigt werden soll, wird das Einverständnis mit dem Setzen von Cookies stillschweigend vorausgesetzt.',
'cfg_ajouter_modele' => 'Fügen Sie das gewünschte Modell @modeles@ an der Stelle hinzu, wo der Dienst angezeigt werden soll.',
'cfg_aucun' => 'Nichts',
'cfg_avance' => 'Erweiterte Einstellungen',
'cfg_bandeau_bas_page' => 'Fuss der Seite',
'cfg_bandeau_haut_page' => 'Kopf der Seite',
'cfg_bandeau_milieu' => 'In der Mitte',
'cfg_btn_acceptonly' => 'Ausschließlich die Schaltfläche Alle akzeptieren',
'cfg_btn_accetpall' => 'Schaltflächen',
'cfg_btn_accetpall_attention' => 'Das Anzeigen der Schaltflächen wird dringend empfohlen.',
'cfg_btn_accetpall_explication' => 'Zusätzlich zur Schaltfläche Personalisieren werden die Schaltflächen Alle akzeptieren und Alle ablehnen angezeigt.',
'cfg_btn_aucun' => 'Keine Schaltfläche',
'cfg_btn_deux' => 'Beide anzeigen',
'cfg_btn_showicon' => 'Cookie anzeigen?',
'cfg_btn_showicon_explication' => 'Mit diesem Schalter können Websurfer die Cookie-Einstellungen jederzeit öffnen.',
'cfg_desinstaller' => 'Deinstallieren',
'cfg_choose_option' => 'Wählen Sie eine Option',
'cfg_close_popup' => 'Schaltfläche zum Schließen auf dem Banner anzeigen',
'cfg_close_popup_explication' => 'Ermöglicht die Schaltfläche ohne Zustimmung oder Ablehnen zu schließen',
'cfg_cookiedomain' => 'Domain',
'cfg_cookiedomain_explication' => 'Wenn das Cookie auch für weitere Websites der Domain verwendet wird, bitte dieses Feld ausfüllen.',
'cfg_cookiename' => 'Bezeichnung des Cookies',
'cfg_cookieslist' => 'Liste der verwendeten Cookies anzeigen ?',
'cfg_cookieslist_explication' => 'Ermöglicht Besuchern einen schnellen Überblick der aktiven Cookies.',
'cfg_desinstaller' => 'Desaktivieren',
'cfg_display_service' => 'Service @service@ anzeigen',
'cfg_exemple' => 'Beispiel',
'cfg_exemple_explication' => 'Erläuterung dieses Beispiels',
'cfg_iconposition' => 'Cookie setzen…', # MODIF
'cfg_installer' => 'installieren',
'cfg_explication' => '<li>Suchen und aktivieren Sie ihren Service.</li>
<li>Geben Sie eventuelle Parameter der aktivierten Services ein.</li>
<br>
<div>Optional (je nach Service) :</div>
<br>
<li>Fügen Sie vorhandene Modelle des Service dort ein, wo Sie den Service mit dem Tag #MODELE bzw. direkt über die Formatierungsleiste einfügen wollen.</li>
<li>Um ein Kürzel zum Modell <b>tac_mein_modell.html</b> in die Formatierungsleiste einzufügen, fügen Sie ein Icon <b>squelettes/icones_barre/tac_mein_modell.png</b> von 17px seitlich ein, damit die Redakteure ihre Inhalte leichter eingeben können.</li>
<li>Bei Problemen mit dem Plugin oder einem Service legen Sie ein Ticket <a href="https://git.spip.net/spip-contrib-extensions/tarteaucitron/issues" target="_blank">im Verzeichnis des Plugins an</a>.</li>',
'cfg_externalcss' => 'CSS von TarteAuCitron / Zitronenkuchen abschalten',
'cfg_externalcss_explication' => 'Ermöglicht die Nutzung eigener CSS Regeln',
'cfg_group_services' => 'Services zusammenstellen',
'cfg_group_services_explication' => 'Nach Servicetyp',
'cfg_icon' => 'Icon',
'cfg_icon_explication' => 'Verwenden Sie ein quadratisches Bild mit 50px Kantenlänge',
'cfg_iconposition' => 'Schaltfläche positionieren…',
'cfg_image' => 'Bild',
'cfg_installer' => 'Aktivieren',
'cfg_mandatory' => 'Erforderliche Cookies anzeigen',
'cfg_mandatory_explication' => 'Dem Besucher anzeigen, dass erforderliche Cookies verwendet werden.',
'cfg_moreinfolink' => 'Link `weitere Informationen` anzeigen',
'cfg_nettoyer_iframes' => 'Alte Artikel bearbeiten',
'cfg_nettoyer_iframes_explication' => 'Das Plugin TarteAuCitron / Zitronenkuchen für SPIP kommt mit einem Skript um Iframes alter Artikel durch entsprechende Modelle zu ersetzen. Falls erforderlich, passen Sie dieses an.<br>
Wenn Sie das Skrip ausführen, erfolgt zunächst ein Probelauf. Wenn Sie die Änderungen durchführen möchten, fügen Sie <code>&modif=1</code> an den URL an.',
'cfg_nettoyer_iframes_launch' => 'Skript ausführen',
'cfg_ouverture_type' => 'Type der Schaltfläche',
'cfg_placement_bandeau' => 'Banner vertikal ausrichten',
'cfg_position_bd' => 'Rechts unten',
'cfg_position_bg' => 'Links unten',
'cfg_position_hd' => 'Rechts oben',
'cfg_position_hg' => 'Links oben',
'cfg_readmorelink' => 'Link zur Seite mehr über Cookies erfahren.',
'cfg_readmorelink_explication' => 'Beispiel : spip.php ?article1, rgpd, etc.',
'cfg_titre_activation_services' => 'Freischaltung von Diensten',
'cfg_titre_ajouter_services' => 'Installation von Diensten',
'cfg_titre_liste_services' => 'Liste der Cookie-Dienste',
'cfg_titre_recherche_services' => 'Forschen',
'cfg_titre_result_recherche_services' => 'Suchergebnisse',
'cfg_remove_credit' => 'Urheberhinweise löschen',
'cfg_remove_credit_attention' => 'Indem Sie diesen Link löschen, entfernen Sie die Sichtbarkeit der Entwickler des Open Source Projekts TarteAuCitron.',
'cfg_remove_credit_explication' => 'Projekt TarteAuCitron entfernen',
'cfg_small_alert' => 'Kleiner Hinweis',
'cfg_text_alertbigprivacy' => 'Text',
'cfg_text_alertbigprivacy_explication' => 'Standardtext des Banners ändern.<br>Hinweis: dieses Feld gestattet die Verwendung von mehrsprachigen Multi-Blöcken.',
'cfg_text_disclaimer' => 'Meldungstext',
'cfg_text_disclaimer_explication' => 'Standard-Hinweistext ändern.<br>Hinweis: dieses Feld erlaubt die Verwendung von mehrsprachigen Multi-Blöcken.',
'cfg_text_info' => 'Info',
'cfg_text_info_explication' => 'Standard-Hinweistext ändern.<br>Hinweis: dieses Feld erlaubt die Verwendung von mehrsprachigen Multi-Blöcken.',
'cfg_titre_activation_services' => 'Aktivierte Services',
'cfg_titre_ajouter_services' => 'Cookie-Dienste aktivieren',
'cfg_titre_bandeau' => 'Anzeige',
'cfg_titre_liste_services' => 'Liste der Services',
'cfg_titre_placeholder_recherche_services' => 'Instagram, Spotify, etc.',
'cfg_titre_bandeau' => 'Verwaltung der akzeptierten Cookies', # MODIF
'cfg_titre_recherche_services' => 'Suchen',
'cfg_titre_result_recherche_services' => 'Suchergebnis',
'cfg_titre_technique' => 'Technik',
// I
'id_contenu' => 'ID Ihres Inhalts einfügen:',
// L
'legend_bandeau_principal' => 'Haupt-Banner',
'legend_cookie' => 'Das Cookie', # MODIF
'legend_cookie' => 'Leiste öffnen',
'legend_cookies_management_panel' => 'Banner zur Cookieverwaltung',
// S
'services_fb_explication' => '',
'services_fb_label' => 'Like und Teilen-Buttons von Facebook',
'services_fb_pixel_explication' => 'Geben Sie ihre FacebookPixel ID an.',
'services_fb_pixel_label' => 'Facebook Pixel',
'services_fb_pixel_placeholder' => 'YOUR_ID',
'services_fb_placeholder' => '',
'services_gmap_explication' => 'Geben Sie Ihren Google Map API Key ein.',
'services_gmap_label' => 'Google Map API Key',
'services_gmap_placeholder' => 'API KEY',

@ -12,7 +12,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
'cfg_afficher_bandeau' => 'Afficher le bandeau ?',
'cfg_afficher_bandeau_attention' => 'Il est hautement recommandé dafficher 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_ajouter_modele' => 'Ajoutez le modèle que vous souhaitez @modeles@ à lendroit où le service doit safficher',
'cfg_aucun' => 'Aucun',
'cfg_avance' => 'Réglages avancés',
'cfg_bandeau_bas_page' => 'Bas de la page',
@ -41,10 +41,10 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
'cfg_explication' => '<li>Recherchez et activez votre service.</li>
<li>Saisissez les éventuels paramètres des services activés.</li>
<br>
<div>Optionnel (suivant les services) :</div>
<div>Optionnel (suivant les services) :</div>
<br>
<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/tac_mon_modele.png</b> de 17px de côté pour permettre aux rédacteurs d\'insérer du contenu facilement.</li>
<li>Insérer le(s) modèle(s) éventuel(s) du service à lendroit 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/tac_mon_modele.png</b> de 17px de côté pour permettre aux rédacteurs dinsé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',
'cfg_externalcss_explication' => 'Permet dutiliser des règles CSS personnalisées',
@ -60,9 +60,10 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
'cfg_moreinfolink' => 'Afficher le lien `En savoir plus`',
'cfg_nettoyer_iframes' => 'Traiter les anciens articles',
'cfg_nettoyer_iframes_explication' => 'Le plugin TarteAuCitron pour SPIP fournit un script qui vous permettra de remplacer les iframes de vos anciens articles par les modèles adéquats. Au besoin, adaptez-le.<br>
Quand vous lancez le script, celui-ci lance d\'abord une simulation. Si vous souhaitez que les modifications soient effectives, il faut ajouter <code>&modif=1</code> dans l\'url.',
Quand vous lancez le script, celui-ci lance dabord une simulation. Si vous souhaitez que les modifications soient effectives, il faut ajouter <code>&modif=1</code> dans lurl.',
'cfg_nettoyer_iframes_launch' => 'Lancer le script',
'cfg_ouverture_type' => 'Type de bouton',
'cfg_parametre_service' => 'Paramétrer le service <b>@service@</b>',
'cfg_placement_bandeau' => 'Placement vertical du bandeau',
'cfg_position_bd' => 'En bas à droite',
'cfg_position_bg' => 'En bas à gauche',
@ -82,15 +83,15 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
'cfg_text_info_explication' => 'Modifier le texte dinfo par défaut.<br>Note : ce champ accepte les Blocs multilingues',
'cfg_titre_activation_services' => 'Services activés',
'cfg_titre_ajouter_services' => 'Activation des services',
'cfg_titre_bandeau' => 'Affichage',
'cfg_titre_liste_services' => 'Liste des services',
'cfg_titre_placeholder_recherche_services' => 'Instagram, Spotify, etc.',
'cfg_titre_recherche_services' => 'Rechercher',
'cfg_titre_result_recherche_services' => 'Résultats de recherche',
'cfg_titre_placeholder_recherche_services' => 'Instagram, Spotify, etc.',
'cfg_titre_bandeau' => 'Affichage',
'cfg_titre_technique' => 'Technique',
// I
'id_contenu' => 'Insérer l\'id de votre contenu :',
'id_contenu' => 'Insérer lid de votre contenu :',
// L
'legend_bandeau_principal' => 'Le bandeau principal',

@ -1,3 +1,19 @@
#tarteaucitron [aria-pressed="true"] {
font-weight:700;
}
.tac_visually-hidden {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
white-space: nowrap; /* added line */
border: 0;
}
div#tarteaucitronAlertBig:focus {outline: 0;}
.tarteaucitron-modal-open{
@ -526,7 +542,7 @@ div#tarteaucitronServices {
#tarteaucitron #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronAllow,
#tarteaucitron #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronDeny,
.tac_activate .tarteaucitronAllow {
background: gray;
background: #555;
border-radius: 4px;
color: #fff;
cursor: pointer;
@ -548,13 +564,18 @@ div#tarteaucitronServices {
opacity: 1;
}
#tarteaucitron #tarteaucitronServices .tarteaucitronLine.tarteaucitronIsAllowed .tarteaucitronAllow {
#tarteaucitron #tarteaucitronServices .tarteaucitronLine.tarteaucitronIsAllowed .tarteaucitronAllow,
#tarteaucitron #tarteaucitronServices #tarteaucitronServices_mandatory .tarteaucitronLine button.tarteaucitronAllow {
background-color: #1B870B;
}
#tarteaucitron #tarteaucitronServices .tarteaucitronLine.tarteaucitronIsDenied .tarteaucitronDeny {
background-color: #9C1A1A;
}
#tarteaucitron #tarteaucitronServices #tarteaucitronServices_mandatory .tarteaucitronLine button.tarteaucitronAllow{
opacity: 0.4;
}
#tarteaucitron #tarteaucitronServices .tarteaucitronLine .tarteaucitronName .tarteaucitronListCookies {
color: #333;
font-size: 12px;
@ -923,6 +944,7 @@ div.amazon_product {
height:240px;
width:120px;
}
.tarteaucitronIsAllowed .tarteaucitronDeny {
opacity: 0.4!important;
}.tarteaucitronIsDenied .tarteaucitronAllow {

@ -0,0 +1,86 @@
/*global tarteaucitron */
tarteaucitron.lang = {
"middleBarHead": "☝ 🍪",
"adblock": "مرحبا! يلعب هذا الموقع الكتروني على الشفافية ويمنحك اختيار خدمات الطرف الثالث للتفعيل.",
"adblock_call": "يرجى إلغاء تنشيط adblocker لبدء التخصيص.",
"reload": "أعد تحميل الصفحة",
"alertBigScroll": "من خلال الاستمرار في العرض",
"alertBigClick": "من خلال إستمرارك بالتصفُّح على هذا الموقع",
"alertBig": "أنت توافق استخدام خدمات الطرف الثالث التي يمكنها تثبيت ملفات تعريف الارتباط",
"alertBigPrivacy": "يستخدم هذا الموقع ملفات تعريف الارتباط ويمنحك التحكم في تلك التي تريد تنشيطها",
"alertSmall": "إدارة الخدمات",
"acceptAll": "تقبل كل شيء",