Skip to content
Extraits de code Groupes Projets
Valider 0c2d20db rédigé par esj's avatar esj
Parcourir les fichiers

Multi-base; rappel_nom_base et surcharche de FILE_CONNECT_INS

Un excès de zèle dans l'abstraction SQL avait rendu inopérant le test  du besoin de rappeler le nom de la base, c'est réparé.

Par ailleurs les constantes FILE_CONNECT_INS et FILE_CHMOD_INS changent légèrement de rôles afin d'évacuer quelques constantes écrites en dur dans le code, qui empêchaient des sites mutualisés de partager un même répertoire pour leur ''permanents inaccessibles''. C'est chose faite à présent, ce qui permet à chaque site mutualisé de visualiser les bases des autres en utilisant le paramètre d'URL {{{connect}}} (cf. [10183]) sans avoir à recopier leur fichier {{{connect.php}}}.

Par exemple, la mutualisation suivante dans mes_options.php:

{{{
if ( preg_match(',/([a-zA-Z0-9_-]*)[/?],',$_SERVER['REQUEST_URI'],$r)) {
	if (is_dir($e = _DIR_RACINE . 'Ajouts/' . $r[1]. '/')) {
		$cookie_prefix = $table_prefix = $r[1];

		define('_SPIP_PATH', 
			_DIR_RACINE. 'Ajouts/' . $table_prefix  . '/dist/:' .
			_DIR_RACINE .'Ajouts/' . $table_prefix  . '/:' .
			_DIR_RACINE .'dist/:' .
			_DIR_RACINE .'dist/javascript/:' .
			_DIR_RESTREINT);

		define('_FILE_CONNECT_INS', 'connect' . $table_prefix);
		define('_FILE_CHMOD_INS', 'chmod' . $table_prefix);
		spip_initialisation(
			(_DIR_RACINE /* $e */ . _NOM_PERMANENTS_INACCESSIBLES),
			($e . _NOM_PERMANENTS_ACCESSIBLES),
			($e . _NOM_TEMPORAIRES_INACCESSIBLES),
			($e . _NOM_TEMPORAIRES_ACCESSIBLES)
		       );
}}}

mettra dans le répertoire {{{config///}} de la racine les fichiers {{{connectA.php}}}, {{{connectB.php}}}, ... des différents sous-répertoires du répertoire {{{Ajout}}}, une URL de A pouvant ainsi contenir {{{connect=B}}} et inversement dès que les deux sites sont installés.
parent 12ef44ca
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
Chargement en cours
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter