KB-PLUGIN-010: ajax/ no GLPI 11 dispensa inc/includes.php

Confirmado no plugin sync: endpoint ajax sem include responde 302/403
(core bootado pelo LegacyFileLoadController). Corrige exemplo legado.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Rodolpho Lopes 2026-06-16 20:46:52 +00:00
parent 28dcfbca94
commit 069cd141a8

View file

@ -80,13 +80,21 @@ fetch('/plugins/meu-plugin/ajax/endpoint.php', {
```php
<?php
include('../../../inc/includes.php');
// GLPI 11: NÃO incluir inc/includes.php — o LegacyFileLoadController já bootou
// o core/autoload antes de invocar arquivos de ajax/ (igual a front/, ver
// KB-PLUGIN-028). O include legado pode quebrar dependendo do path do plugin.
Session::checkRight('config', UPDATE); // suficiente — kernel já validou CSRF
// lógica do endpoint...
```
> **Atualização (GLPI 11.0.x):** o `include('../../../inc/includes.php')` mostrado
> em versões antigas deste padrão **não é mais necessário nem recomendado** em
> `ajax/`. Confirmado no plugin `sync` (2026-06-16): `ajax/testconnection.php` sem
> include responde 302 (GET sem sessão → `checkLoginUser` redirige) e 403 (POST
> sem token CSRF), provando que o core é bootado pelo kernel sem o include.
## Comportamento esperado
Com o padrão acima: