Skip to content
Extraits de code Groupes Projets
Bifurcation depuis spip / spip
Le projet source a une visibilité limitée.
  • esj's avatar
    0c2d20db
    Multi-base; rappel_nom_base et surcharche de FILE_CONNECT_INS · 0c2d20db
    esj a rédigé
    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.
    0c2d20db
    Historique
    Multi-base; rappel_nom_base et surcharche de FILE_CONNECT_INS
    esj a rédigé
    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.