Contexte
GLPI : 11.0.8
Plugin Ressources : 4.0.17
Environnement : PRODUCTION
Bonjour, Nous avons un dev interne qui réalise des actions dans GLPI. Seulement depuis certaines mises à jour et encore cette dernière dès que nous appliquons la mise à jour, notre application interne ne se connecte plus.
Je ne suis pas développeur web, j'ai juste du avoir recours à l'IA pour trouver le bug de notre application interne et voici ce que l'IA applique directement sur les fichiers de votre plugin :
Tout est confirmé — c'est du code mort : classe vide, aucune table SQL (glpi_plugin_resources_recipients n'existe pas), aucun itemtype Recipient en base, zéro référence. Le fichier ne diffère de ses voisins que par l'absence de namespace, et c'est exactement ce qui casse : sous l'autoloader PSR‑4 de GLPI 11, src/Recipient.php est censé fournir GlpiPlugin\Resources\Recipient, mais il déclare un Recipient global → l'autoloader ré-inclut le fichier → Cannot redeclare class.
Le correctif exact à publier (dépôt InfotelGLPI/resources)
Fichier src/Recipient.php — ajouter le namespace comme tous les autres fichiers de src/. Diff :
--- a/src/Recipient.php
+++ b/src/Recipient.php
@@
*/
+namespace GlpiPlugin\Resources;
+
+use CommonDBTM;
+
if (!defined('GLPI_ROOT')) {
die("Sorry. You can't access directly to this file");
}
C'est la correction propre : elle aligne le fichier sur la convention du plugin (namespace GlpiPlugin\Resources; + use CommonDBTM;, exactement comme src/Resource.php), supprime la cause racine, et comme la classe est vide et inutilisée, zéro changement de comportement.
Variante « hotfix » si tu veux un patch minimal non intrusif (garde défensive au lieu du namespace) :
if (!class_exists('Recipient', false)) {
class Recipient extends CommonDBTM {
}
}
Plus propre encore côté maintenance : supprimer src/Recipient.php et src/Recipient_Leaving.php (tous deux morts). Mais pour une PR sereine, le namespace est le meilleur compromis.
Voila je ne sais pas si ça aide ou pas du tout, mais en tout ça me débloque mon application.
Contexte
GLPI : 11.0.8
Plugin Ressources : 4.0.17
Environnement : PRODUCTION
Bonjour, Nous avons un dev interne qui réalise des actions dans GLPI. Seulement depuis certaines mises à jour et encore cette dernière dès que nous appliquons la mise à jour, notre application interne ne se connecte plus.
Je ne suis pas développeur web, j'ai juste du avoir recours à l'IA pour trouver le bug de notre application interne et voici ce que l'IA applique directement sur les fichiers de votre plugin :
Voila je ne sais pas si ça aide ou pas du tout, mais en tout ça me débloque mon application.