[spip-dev] Déclaration de base supplémentaire en erreur

Bonjour,

Lorsqu'on a déclaré un _INSTALL_SERVER_DB , il est impossible de déclarer une nouvelle base via l'interface prévue.

Ce qui se passe :

-* la déclaration liste l'ensemble des serveurs dispo (mysql, pg, sqlite...) et il est possible de sélectionner celui qu'on veut, disons mysql. Il est correctement transmis à etape_sup1.

-* étape_sup1 appelle une fonction pour générer les hidden transmis à etape2_sup : predef_ou_cache dans inc/install. Cette dernière ne renvoie pas d'input si un _INSTALL_ est déclaré pour le champ

-* étape_sup2 appelle ensuite la fonction spip_connect_db() avec un $server_db valant '' (puisque non transmis).

-* la fonction spip_connect_db() reçoit donc l'argument $type='' et ne trouve pas de fichier req/.php à ouvrir bien évidemment et retourne une erreur !

On corrige avant la 2.0.3 ?
Une idée de correction simple ?

Bonjour,

Lorsqu'on a déclaré un _INSTALL_SERVER_DB , il est impossible de déclarer une nouvelle base via l'interface prévue.

L'idée de cette constante remonte à avant le serveur virtuel SQL, il n'était donc pas prévu qu'ils puissent y avoir plusieurs serveurs SQL par défaut.

Une idée de correction simple ?

PHP ne connaisant pas les tableaux constants, il faut a priori introduire une famille de constantes:
_INSTALL_SERVER_MYSQL_DB
_INSTALL_SERVER_PG_DB
etc
et mettre
define('_INSTALL_SERVER_DB', _INSTALL_SERVER_MYSQL_DB)
pour compatibilité.

Committo,Ergo:Sum