Problème Apostrophes Ajout catégories 1.8.2+

Problème Apostrophes Ajout catégories 1.8.2+

par Jérémy PONCHEL,
Nombre de réponses : 10
Bonjour,

Je viens d'installer la version 1.8.2+ et je rencontre un problème lors de l'ajout de catégorie.
En effet, je n'ai aucun problème avec les caractères accentués, or je ne peux ajouter de catégories contenant une apostrophe.

Pour preuve :

Could not insert the new category 'T'est'

-> Lors d'une tentative d'insertion de T'est

Par contre je peux détourner ce problème en insérant un \ devant l'apostrophe, ainsi la catégorie est ajouté sans problème.

J'aurais voulu savoir si d'autres personnes rencontrent ce problème, si oui, est-il possible d'y remédier ?

Merci.
Cordialement.
Moyenne des évaluations  -
En réponse à Jérémy PONCHEL

Re: Problème Apostrophes Ajout catégories 1.8.2+

par Valery Fremaux,

Dans course/lib.php §46 corriger le code par les modifications suivantes :

/// If data for a new category was submitted, then add it
    if ($form = data_submitted() and confirm_sesskey() and has_capability('moodle/category:create', $context)) {
        if (!empty($form->addcategory)) {
            unset($newcategory);
//            $newcategory->name = stripslashes_safe($form->addcategory);
            $newcategory->name = $form->addcategory;
            $newcategory->sortorder = 999;
            if (!insert_record('course_categories', $newcategory)) {
//                notify("Could not insert the new category '" . format_string($newcategory->name) . "'");
                notify("Could not insert the new category '" . format_string(stripslashes_safe($newcategory->name)) . "'");
            } else {
//                notify(get_string('categoryadded', '', format_string($newcategory->name)));
                notify(get_string('categoryadded', '', format_string(stripslashes_safe($newcategory->name))));
            }
        }
    }
Je signale le problème dans le tracker.

Moyenne des évaluations Utile (1)
En réponse à Valery Fremaux

Re: Problème Apostrophes Ajout catégories 1.8.2+

par Jérémy PONCHEL,
Merci beaucoup pour votre aide !

Juste une petite correction, ce contenu est présent dans lib/index.php ligne 46.
En réponse à Valery Fremaux

Re: Problème Apostrophes Ajout catégories 1.8.2+

par Nicolas Martignoni,
Avatar Développeurs Avatar Développeurs de plugins Avatar Documentation writers Avatar Moodleurs particulièrement utiles Avatar Testeurs Avatar Traducteurs
Peux-tu communiquer le lien du traqueur ? Merci d'avance !
En réponse à Valery Fremaux

Re: Problème Apostrophes Ajout catégories 1.8.2+

par Jérémy PONCHEL,
J'ai effectué les modifications comme précisé dans ce post. Comme je l'ai précisé précedemment la correction a été effectuée au niveau de course/index.php §46 et non dans course/lib.php.

J'ai la version 1.8.2+ de Moodle, l'emplacement de ces quelques lignes a peut-être été modifié, or le problème n'est résolu qu'à moitié.

Je m'explique, effectivement le problème de la quote est résolu, or lorsque je valide le formulaire pour l'ajout de la catégorie, la catégorie est ajoutée et je suis alors redirigé vers la page de la liste des catégorie mais tous les caractères accentués sont mal affichés.

Cependant la catégorie a bien été ajoutée, le problème de quote n'est plus présent mais un problème sur la page persiste.

Par exemple, lors de l'ajout de la catégorie t'est, j'obtiens ce message en haut de page :

La catégorie « t'est » a été ajoutée

et l'ensemble de la page présente les mêmes "symptômes".

Je me pose alors plusieurs questions :

1 - Est-ce depuis la version 1.8.2+ que ces lignes se trouvent dans le fichier course/index.php ?

2 - Comment résoudre ce nouveau problème ?

Rien n'est précisé au niveau du tracker. Au besoin je pourrais faire une capture d'écran du problème.
Merci à vous.
En réponse à Jérémy PONCHEL

Re: Problème Apostrophes Ajout catégories 1.8.2+

par Joseph Rézeau,
Avatar Développeurs Avatar Développeurs de plugins Avatar Moodleurs particulièrement utiles Avatar Testeurs Avatar Traducteurs

En général une page blanche est l'indice d'une erreur PHP. Pour afficher l'erreur en question, il faut au préalable activer le débugger. Dans la 1.8: Administration Serveur

Débogage: Messages de débogage: choisir un niveau élevé: Tout.

Et voir ce que ça dit...

Joseph

PS.- Le problème des apostrophes est malheureusement fréquent dans Moodle. Ce n'est pas la faute de Moodle lui-même, mais la conjonction de deux facteurs:

  • l'apostrophe (ou guillemet simple ou quote en anglais) est un séparateur de chaînes de caractères en PHP, en MySQL etc.
  • l'apostrophe est rarement utilisée à l'intérieur des chaînes de caractères en anglais, donc ce n'est pas un problème perçu par les programmeurs anglophones...
En réponse à Jérémy PONCHEL

Re: Problème Apostrophes Ajout catégories 1.8.2+

par Joseph Rézeau,
Avatar Développeurs Avatar Développeurs de plugins Avatar Moodleurs particulièrement utiles Avatar Testeurs Avatar Traducteurs

Jérémy,

Voici les résultats de mes tests concernant ton problème d'apostrophe dans les noms de catégories.

1. Modification du fichier course/index.php

Il s'agit de la version la plus récente de ce fichier, Moodle 1.8.2+, fichier $Id: index.php,v 1.67.2.7 2007/04/18 04:51:59 toyomoyo Exp $

J'ai fait les 3 modifications proposées par Valery dans son post du jeudi 19 juillet 2007, 21:48

2. Ajout d'une catégorie comportant une apostrophe.

Exemple: Vive l'été

Message: La catégorie « Vive l'été » a été ajoutée

3. Aucun problème d'accents à signaler. Tout est OK.

Joseph

PS.- Tu as modifié ton post du mardi 24 juillet 2007, 12:16 au moment où je postais le mien du mardi 24 juillet 2007, 12:18. Tu y parlais d'un pb de page blanche, d'où ma réponse. En principe, quand on modifie un post après l'avoir posté (dans l'intervalle de 30 minutes), il faut mieux préciser par un "Edit" qu'il s'agit d'une modif...


Annexe image00.jpg
En réponse à Joseph Rézeau

Re: Problème Apostrophes Ajout catégories 1.8.2+

par Jérémy PONCHEL,

Bonjour,

Tout d'abord merci pour vos réponses.

Joseph je suis désolé d'avoir modifié mon message après l'avoir posté, je pensais que mon message aurait été visible une fois ces 30 min de droit de modification écoulé.

J'ai modifié mon message étant donné que je n'avais plus cette erreur de page blanche, je n'en ai pas trouvé la cause, j'ai simplement vérifié de nouveau le contenu de mon index.php et re-uploadé le fichier et je n'avais plus l'erreur.

Cependant contrairement à toi, j'ai toujours l'erreur cité ci-dessus, bien qu'après vérification j'ai la même version de fichier que toi en l'occurence : "index.php,v 1.67.2.7 2007/04/18 04:51:59 toyomoyo Exp $"

J'ai de nouveau fait des essais, tenter de laisser de côté firefox pour tester avec IE, le résultat est le même. Tenter de changer le thème, remis le thème par défaut, rien ne change.

Ce qui est étrange c'est que le problème réside que dans l'ajout de catégories, je ne rencontre aucun autre problème de caractères accentués sur Moodle.

J'ai fait quelques captures d'écran pour illustrer mes dires :

Screenshot avant l'ajout d'une catégorie :

avant_ajout.jpg

Le thème utilisé est le thème par défaut. Jusque là rien d'anormal.

Screenshot après l'ajout d'une catégorie :

apres_ajout.jpg

Alors voilà en image le problème que je rencontre, j'ai tenté d'ajouter la catégorie "Vive l'été" comme Joseph, la catégorie est ajouté mais le message de confirmation est affiché avec de drôles de caractères mais comme vous pouvez le constater l'ensemble des caractères accentués de la page sont modifiés au détriment de caractères anormaux.

Cependant la catégorie est ajouté correctement, une simple mise à jour de la page en cliquant sur "Gestion des cours" du menu, me permet d'avoir cette affichage :

apres_maj.jpg

On peut donc remarquer que tous les caractères s'affichent de nouveau correctement, la catégorie "Vive l'été" malgré la page défaillante lors de l'ajout est ajouté correctement (voir dernière catégorie de la liste sur la capture).

J'ai effectué un dernier petit test avec un suppression, suppression de la catégorie "Vive l'été" qui vient d'être ajoutée, et j'obtiens un affichage correcte.

suppression.jpg

Tout est correcte, j'ai seulement le problème lors de l'ajout d'une catégorie.

Je joins également à ce message les quelques lignes de code que j'ai modifié suite aux correctifs proposés dans ce post soit :

/// If data for a new category was submitted, then add it
    if ($form = data_submitted() and confirm_sesskey() and has_capability('moodle/category:create', $context)) {
        if (!empty($form->addcategory)) {
            unset($newcategory);
            // $newcategory->name = stripslashes_safe($form->addcategory);
   $newcategory->name = $form->addcategory;
            $newcategory->sortorder = 999;
            if (!insert_record('course_categories', $newcategory)) {
                // notify("Could not insert the new category '" . format_string($newcategory->name) . "'");
    notify("Could not insert the new category '" . format_string(stripslashes_safe($newcategory->name)) . "'");
            } else {
                // notify(get_string('categoryadded', '', format_string($newcategory->name)));
    notify(get_string('categoryadded', '', format_string(stripslashes_safe($newcategory->name))));
            }
        }
    }

Ces modifications ont été effectués dans le fichier course/index.php à partir de la ligne 46.

J'espère pouvoir résoudre ce dernier problème.

Merci à vous.

Bonne journée.

En réponse à Jérémy PONCHEL

Re: Problème Apostrophes Ajout catégories 1.8.2+

par Joseph Rézeau,
Avatar Développeurs Avatar Développeurs de plugins Avatar Moodleurs particulièrement utiles Avatar Testeurs Avatar Traducteurs
Apparemment c'est l'affichage du message "La catégorie xxx a été ajoutée" qui déclenche l'affichage en code ISO-8859-1 du type: "La catégorie « labo » a été ajoutée"
Est-ce que ce problème persiste dans les conditions suivantes:
  1. basculer la langue du site en anglais au lieu de français
  2. taper un nom de catégorie comportant une apostrophe mais pas de caractère accentué (Vive l'hiver)
Si #1, il peut s'agir d'un bug dans le fichier de langue. As-tu une version à jour du paquetage de langue français ? Quelle est la date du fichier \moodledata\lang\fr_utf8\moodle.php ? Le mien est du 21/07/2007 10:13.
Joseph