1 25-04-2021 17:19 -

Lorsque vous travaillez en français, il est impossible d'effacer un type d'événement.
La cause en est l'apostrophe présente dans le string de confirmation en français :

dans languages/French-UTF8/admin_text.php ET dans French/admin_text.php (le québécois n'est pas concerné)

Ligne 227
$admtext['confdeleteevtype'] = "Êtes-vous sûr de vouloir supprimer ce type d'événement ? Tous les événements de ce type seront alors détruits.";

doit être modifié en échappant l'apostrophe avec un backslash (\)

$admtext['confdeleteevtype'] = "Êtes-vous sûr de vouloir supprimer ce type d\'événement ? Tous les événements de ce type seront alors détruits.";

Il y a une foule d'autres messages avec des apostrophes, mais ils ne sont pas gênants.
Sauf si vous en découvrez un autre...

Michel

2 25-04-2021 18:41 -

C'est vrai que ça m'énervait ce truc. Merci Michel, je vais corriger la chaîne de langue.
En fait, ce qui marchait pas du tout, c'est en cochant la croix rouge du type d'événement.
Si on coche la case ... à cocher et qu'on choisit "supprimer la sélection", ça fait le job. Parce que ya pas de message de confirmation.

3 25-04-2021 18:49 -

Je viens de faire les corrections. Mais ya un truc bizarre : maintenant le type d'événement est bien supprimé avec la croix rouge aussi, mais directement, sans affichage d'aucun message de confirmation !!!

4 25-04-2021 21:35 -

Ah?
Chez moi ça marche...

Tu as bien mis un \ hein? Et bien rafraichis ta page? (Ctrl+F5). C'est du JS...
C'est sur quel site?

5 25-04-2021 21:48 -

https://genealogie.revestou.fr/

et oui je sais faire des \\\\
Mais je n'avais pas non plus de message de confirmation en supprimant le type d'événement avec les cases à cocher.

6 25-04-2021 23:40 -

Je teste sur le site et j'ai bien le message qui demande confirmation...
J'ai créé un event : DUMMY.

Essaye

Michel

7 25-04-2021 23:49 -

Ah bé oui ... maintenant oui avec la croix rouge, ya le message. Mais pas avec la case à cocher, où j'ai pu supprimer sans avertissement en cliquant d'abord sur la case à cocher puis sur le bouton en haut "Supprimer la sélection". Je viens de zigouiller ton dummy.

8 27-04-2021 15:29 -

Et bien oui. Le problème et la solution sont les mêmes...

dans admintext.php

env ligne 2223, modifier :

$admtext['confdeleterecs'] = "Êtes-vous sûr de vouloir supprimer l'enregistrement sélectionné ?";

en :

$admtext['confdeleterecs'] = "Êtes-vous sûr de vouloir supprimer l\'enregistrement sélectionné ?";

Je crains que nous ne soyons partis pour une nouvelle série...

On ne peut même pas dire que l'on va remplacer tous les apostrophes par \', car parfois ça risque de coincer.

Essayez de traquer un maximum de ces anomalies...

Michel

9 30-04-2021 19:25 -

Darrin est occupé sur ce problème.
Continuez à chercher d'autres problèmes du même type...

Michel

10 02-05-2021 13:24 -

Darrin m'a envoyé un fichier corrigé par mail. Je vous l'ai transféré à vos adresses respectives.
Michel

11 02-05-2021 14:27 -

Ben on n'en a pas fini avec ce petit problème :
Il se présente aussi pour les fichiers admin_xxx.php avec xxx =
branches
cemeteries
dna_groups
dna_tests
families
media
notelist
people
places
repositories
reviewusers
sources
timelineevents
users

Comment résoudre cela facilement?
- Allez dans votre notepad++
- Ctrl + F
- entrez dans la case Rechercher :
onClick="return confirm('<?php echo $admtext['confdeleterecs'];
-entrez dans la case Remplacer :
onClick="return confirm('<?php echo addslashes($admtext['confdeleterecs']);
- Cliquez sur l'onglet "Rechercher dans les fichiers"
et adaptez la zone "Dossier" à votre racine TNG.
- Cliquez sur remplacer tout.
Il devrait y avoir 14 remplacement (15 si vous n'avez pas encore remplacé votre admin_eventtypes.php par la version de Darrin que je vous ai envoyée par mail).

https://agora.chauvigne.info/uploads/images/2021/05/02/remplacer_dans_admin_xxx.jpg


Michel

12 02-05-2021 17:13 -

Michel, tu travailles même le 1er mai et même le dimanche ‽

A te lire, je ressens d'un coup une flemmingite aiguë ...

Je ne sais si j'ai tout compris. Mais j'ai cru entrevoir que nos soucis viennent d'une histoire de guillemets simples pour les chaines de langues, là où il aurait fallu des guillemets doubles. Parce que si tu mets une apostrophe au milieu de guillemets simples, ben le code, il croit que c'est fini et le guillemet de fermeture qui vient après va se retrouver tout seul comme un ... et mettre le bazar.

J'ai vécu cette mésaventure ya 5 ou 6 ans avec un autre CMS et je me suis retrouvée à TOUT reprendre ce qui concernait les chaînes de langue. J'y ai passé 3 mois à temps plein. Je ne suis même pas sure d'en avoir été créditée. Donc là, je crois pas que je vais corriger mes TNG : je vais attendre patiemment que Darrin corrige tout et nous sorte une belle version nouvelle prête à l'emploi.

13 02-05-2021 20:00 -

En l'occurence, il est plus simple de modifier le code que rechercher les chaînes qui pourraient éventuellement poser un problème...

14 03-05-2021 22:42 -

Pour ceux qui auraient des difficultés,
ce petit Mod fait le boulot pour eux...

Il est possible qu'il écrive "partiellement installé" (ce serait votre modification de admin_eventtypes.php) => nettoyer et installer

add_addslashe_french_v13.0.3.1.zip  0.8 Ko  (112)

Michel

15 03-05-2021 23:04 -

D'abord, on peut pas avoir des "difficultés", c'est inconcevable. On peut avoir un manque de temps, d'autres priorités, une alerte Facebook, une casserole sur le feu ...

Merci Michel, le mod s'est installé sans souci, mais je suis pas sure qu'il ait fait son job : pour ce qui concerne la suppression d'un type d'événement, c'est toujours inopérant avec la croix rouge. Sur mon site de test.

16 04-05-2021 00:08 -

Toi, tu n'as pas remplacé ton fichier admin_eventtypes.php avec celui que Michel t'a envoyé !

dans admin_eventtypes.php, ligne 133 et suivantes,

dans le bloc

<script type="text/javascript">
function confirmDelete(ID) {
    if(confirm('<?php echo $admtext['confdeleteevtype']; ?>' ))
        deleteIt('eventtype',ID);
    return false;
}
</script>

Il faut remplacer les guillemets externes simples par des doubles :

<script type="text/javascript">
function confirmDelete(ID) {
    if(confirm("<?php echo $admtext['confdeleteevtype']; ?>" ))
        deleteIt('eventtype',ID);
    return false;
}
</script>


Bon, je sais que tu n'est pas bien pour le moment... Demain, peut-être...?

17 04-05-2021 08:12 -

OK OK OK, compris prof ! ça marche mieux en remplaçant d'abord le fichier.