Include d'un script php (spip 1.8)

Sur une version 1.8 de spip, que je teste, je viens d'ajouter un include
d'un script php dans le squelette de article.html.

Voilà ce qu'il m'annonce.

Warning: include_local(inc-stats.php3): failed to open stream: No such file
or directory in /home/www/luc/www/spip/ecrire/inc_version.php3 on line 545

Warning: include_local(): Failed opening 'inc-stats.php3' for inclusion
(include_path='.:/usr/local/lib/php:/home/www/luc/www/script/') in
/home/www/luc/www/spip/ecrire/inc_version.php3 on line 545

Fatal error: Call to undefined function: afficher_raccourci_stats() in
/home/www/luc/www/spip/inc-admin.php3 on line 73

Je le vois bien, qu'il va avoir du mal à trouver inc-stats.php3, vu le
include_path qu'il a récupéré. Mon script php (qui n'est pas de moi) bricole
pas mal les include_path, mais à priori, proprement. Quoique.
Petit extrait :

if (function_exists('set_include_path')) {
set_include_path(get_include_path() . PATH_SEPARATOR . SCRIPT_PATH);
} else {
// if this won't work, we have to live without SCRIPT_PATH in the
include_path
if (strpos(@ini_get('disable_functions'), 'ini_set') === FALSE ) {
  ini_set('include_path', ini_get('include_path') . PATH_SEPARATOR .
SCRIPT_PATH);
}
}

La question que je me pose, c'est : Est-ce que spip se sert de cet
include_path, notamment ici pour son include_local.
Vous le remarquerais peut-être :slight_smile: , je suis pas expert en php, mais
toujours prêt à bricoler et à apprendre. Avez vous des conseils à me donner,
pour régler le problème ? Où se trouve les définitions de path dans spip ?
Est ce mon script qui a été écrasé quelquechose (une variable globale, ou ce
path ? )

Tout les liens, les idées, les pistes sont les bienvenues. Merci d'avance.

Pour compléter un peu, j'ai forcé dans ecrire/inc_version.php3 pour qu'il
aille chercher à la racine de spip, vu qu'il voulait inc-stats.php3
ça marche bien évidemment, mais ensuite, ça coince avec le include "suivant"

include_local(../ecrire/inc_connect.php3):

qui lui se trouve dans le répertoire écrire.

Je me demandais donc si ce bout de code ne devait pas être améliorer par les
dev. ?

//
// Gestion des inclusions et infos repertoires
//

$included_files = '';

function include_local($file) {
if ($GLOBALS['included_files'][$file]) return;
include($file);
$GLOBALS['included_files'][$file] = 1;
}

Je ne connais pas les tenants et les aboutissants, mais sous cette portion
de code on a un
function include_ecrire

qui lui aurait bien été pour l'include du inc_connect. Est-ce voulu, est-ce
normal ? Ok, c'est aussi de la faute de mon script php, mais si ça peut
servir dans le futur, pour d'autres, pourquoi pas.

Bon, j'ai résolu mon problème en mettant mon script php et toutes ces
composantes dans le répertoire de spip.
N'empêche que j'ai toujours pas compris qui était le coupable. Si un jour
quelqu'un passe par ici pour m'expliquer, n'hésitez pas, je suis toujours
friand de détail de ce genre.