Le fichier "inc_version" est PRESQUE entièrement composé de chargements, d'initialisations, qui permettent d'accéder à la machinerie de SPIP, quelque soit le besoin.
SAUF QUE.
Il reste UN code qui génère du HTML dans le cas où la base de données principale n'est pas encore installée :
//
// Installer Spip si pas installe... sauf si justement on est en train
//
if (!(_FILE_CONNECT
OR autoriser_sans_cookie(_request('exec'))
OR _request('action') == 'cookie'
OR _request('action') == 'converser'
OR _request('action') == 'test_dirs')) {// Si on peut installer, on lance illico
if (test_espace_prive()) {
include_spip('inc/headers');
redirige_url_ecrire("install");
} else {
// Si on est dans le site public, dire que qq s'en occupe
include_spip('inc/minipres');
utiliser_langue_visiteur();
echo minipres(_T('info_travaux_titre'), "<p style='text-align: center;'>"._T('info_travaux_texte')."</p>");
exit;
}
// autrement c'est une install ad hoc (spikini...), on sait pas faire
}
Que l'on soit dans l'espace d'admin ou pas, dans les deux cas cela génère du HTML, et une fin du hit PHP.
Ce qui bloque alors tout chargement de SPIP tant que la base n'est pas installée.
Or :
- on peut vouloir charger SPIP sans base installée, pour avoir accès à d'autres fonctions
- on peut vouloir charger les fonctions de SPIP justement pour gérer l'installation autrement qu'en web HTML
Ce morceau de code ne devrait-il donc pas être réparti dans "spip.php" et dans "ecrire/index.php", qui eux sont dédiés à l'affichage web ?
par contre il faut que ce soit un nom