synchro cohortes/LDAP et Moodle 2.9.1

synchro cohortes/LDAP et Moodle 2.9.1

par Christine Legemble,
Nombre de réponses : 4

Bonjour,

J'utilise depuis longtemps le plugin "sync_moodle_cohorts" de Patrick Pollet permettant de synchroniser les cohortes avec des groupes LDAP.

Jusqu'à maintenant, cela a toujours bien marché; mais je rencontre des problèmes depuis que j'ai mis à jour Moodle à la 2.9.1.

Désormais, les cohortes ne sont plus mises à jour. Le script "s'arrête" avant la fin de son exécution.

Dans les logs, j'ai le message suivant : 

!!! Erreur de programmation détectée. Ceci doit être corrigé par un programmeur : textlib_get_instance() can not be used any more, please use core_text::functioname() instead. !!!

L'erreur vient apparemment du fichier "locallib.php" qui contient encore la fonction (deprecated) "textlib_get_instance". Mais, même en faisant le remplacement suggéré (core_text), cela ne semble pas fonctionner.

J'ai bien trouvé sur le forum anglais une personne signalant le même problème, mais il n'y a pas de réponse : https://moodle.org/mod/forum/discuss.php?d=160751#p1272308

Est-ce que quelqu'un d'autre aurait rencontré ce problème et trouvé une solution ?

Merci d'avance pour votre aide.

Cordialement,

Christine

Moyenne des évaluations  -
En réponse à Christine Legemble

Re: synchro cohortes/LDAP et Moodle 2.9.1

par Bruno Malaval,
Avatar Moodleurs particulièrement utiles

Bonjour,


J'ai eu le même souci en passant à la version 2.9.

J'ai mis une réponse sur le dépôt github du regretté P. Pollet, dans la partie "issue", une personne avait posté un message à ce sujet.

Il faut en fait modifier le code, la class "textlib" a été abandonnée au profit de la class "core_text"

Voici les modifications, de mon coté cela a fonctionné :

----------------------------------------------------------------------

Dans le fichier $MOODLEROOT/local/ldap/locallib.php :

(*) Commenter ou supprimer les lignes
$textlib = textlib_get_instance();   (2 occurrences dans le fichier)

(*) Remplacer les lignes :
$group = $textlib->convert($group, 'utf-8', $this->config->ldapencoding);
par
$group = core_text::convert($group, 'utf-8', $this->config->ldapencoding);

(*) Remplacer chaque occurrence de

textlib::

par

core_text::

-------------------------------------------------------

Et la synchronisation devrait fonctionner à nouveau




Moyenne des évaluations Utile (3)
En réponse à Bruno Malaval

Re: synchro cohortes/LDAP et Moodle 2.9.1

par Christine Legemble,

Merci beaucoup.

Je n'avais effectivement pas vu cette "issue" sur GitHub pendant mes recherches.

Les correctifs effectués, cela marche très bien. Merci.

Cordialement,