Bug plugin_manager.php ?

Bug plugin_manager.php ?

par Daniel Méthot,
Nombre de réponses : 5
Avatar Moodleurs particulièrement utiles

Bonjour,

Sur un Moodle récemment mis à jour version 3.3 (Build: 20170515) en mode débogage normal, une erreur est signalée qui semble concerner le plugin_manager.php.

/plugin_manager.php on line 305

Warning: include(): Failed opening '/home/bijayoga/public_html/formation/admin/tool/qeupgradehelper/version.php' for inclusion (include_path='/home/bijayoga/public_html/formation/lib/pear:.:/opt/alt/php70/usr/share/pear') in /home/bijayoga/public_html/formation/lib/classes/plugin_manager.php on line 305
Plugin tool_qeupgradehelper does not declare valid $plugin->component in its version.php.

    line 315 of /lib/classes/plugin_manager.php: call to debugging()
    line 335 of /lib/classes/plugin_manager.php: call to core_plugin_manager->load_present_plugins()
    line 217 of /lib/classes/plugininfo/base.php: call to core_plugin_manager->get_present_plugins()
    line 143 of /lib/classes/plugininfo/base.php: call to core\plugininfo\base->load_disk_version()
    line 97 of /lib/classes/plugininfo/base.php: call to core\plugininfo\base::make_plugin_instance()
    line 395 of /lib/classes/plugin_manager.php: call to core\plugininfo\base::get_plugins()
    line 43 of /admin/settings/plugins.php: call to core_plugin_manager->get_plugins_of_type()
    line 8004 of /lib/adminlib.php: call to require()
    line 19 of /admin/settings.php: call to admin_get_root()

Evidemment ceci reste parfaitement obscur pour moi pensif

Quelqu'un aurait-il un début de piste ?

A moins que ce défaut ne soit pas rédhibitoire...

Merci

Daniel

 

Moyenne des évaluations  -
En réponse à Daniel Méthot

Re: Bug plugin_manager.php ?

par Séverin Terrier,
Avatar Documentation writers Avatar Moodleurs particulièrement utiles Avatar Testeurs Avatar Traducteurs

Bonjour Daniel,

Tu vas pouvoir faire une mise à jour vers Moodle 3.3.1, et voir si cela règle le problème...

Séverin

En réponse à Daniel Méthot

Re: Bug plugin_manager.php ?

par Céline Perves,
Avatar Développeurs Avatar Développeurs de plugins Avatar Moodleurs particulièrement utiles

Bonjour,

au vu du message d'erreur vous avez un problème avec le plugin qeupgradehelper qui ne semble plus adapté à la version de moodle ciblée

Après vérification il semble que ce plugin n'est plus dans le code coeur moodle depuis la version 2.7

Je vous conseille de nettoyer votre code moodle pour enlever les reliquats coeur moodle des version antérieurs

Bonne Journée

Céline

Moyenne des évaluations Utile (1)
En réponse à Céline Perves

Re: Bug plugin_manager.php ?

par Denis Guiziou,

Bonjour,

J'ai aussi ce genre de message et, en fait, comme indiqué par Céline, Moodle cherche un fichier version.php d'un plugin mais ne le trouve pas (ou plus). A la rigueur, on peut passer outre.

Voir peut-être au niveau de "Vue d'ensemble des plugins" dans "Administration du site" s'il n'y a pas des plugins à problème (en rouge) et qui peuvent être désinstallés.

Autre solution, modifier :    moodle\lib\classes\plugin_manager.php, vers la ligne 305 rajouter un test d'existence de fichier (file_exists) :

 if (file_exists($fullplug.'/version.php')) {
      include($fullplug.'/version.php');

....

       $this->presentplugins[$type][$plug] = $plugin;
 } else {
       $skipcache = true;

}

et modifier :  moodle\lib\classes\component.php vers la ligne 1165 rajouter un test d'existence de fichier (file_exists) :

 if (file_exists($fullplug.'/version.php')) {
                   include($fullplug.'/version.php');
                   $versions[$type.'_'.$plug] = $plugin->version;
}


En fait le problème vient de  include($fullplug.'/version.php'); , Moodle essaie d'inclure un fichier version.php mais sans se soucier auparavant s'il existe ou non.

Denis


En réponse à Denis Guiziou

Re: Bug plugin_manager.php ?

par Céline Perves,
Avatar Développeurs Avatar Développeurs de plugins Avatar Moodleurs particulièrement utiles

Bonjour,

il est préférable de suivre les règles de plugin de moodle et de créer le fichier version.php s'il est manquant ou dans le cas évoqué de compléter le fichier version.php avec les éléments manquants.

S'il s'agit d'un vieux plugin provenant d'une ancienne version il s peut qu'il ne fonctionne plus ou qu'une migration ait été prise en charge dans une version ultérieure de moodle.


Bonne Journée et bon courage

Céline


Moyenne des évaluations Utile (1)