Skip to content
Extraits de code Groupes Projets
  1. oct. 24, 2006
  2. oct. 23, 2006
    • JamesRezo's avatar
      - on renomme donc config/ en etc/ et tmp_img/ en var/ :) · 32d1ed90
      JamesRezo a rédigé
      - l'installateur est corrigé en conséquence
      - une solution, à tester, qui permet de créer certains sous-répertoires de tmp/ (sessions/ et CACHE/)
      32d1ed90
    • esj's avatar
      Fusion des fonctions spip_initialisation et spip_intialisation_parametree. · 5b1b73ff
      esj a rédigé
      Suite à quelques essais (pas toujours réussis il est vrai) et échanges divers, l'installation de Spip, notamment en mutualisé, repose à présent sur les symboles suivants:
      
      - plusieurs constantes _DIR_* au début de inc_version définissent les répertoires où se trouvent les sources, considérées comme inaccessibles en écriture car partageable par plusieurs sites.
      
      - ensuite, plusieurs constantes _NOM_* définissent le nom (relatif) des fichiers et répertoires propres et indispensables à chaque site utilisant Spip, savoir 
      
      	define('_NOM_CONFIG', 'mes_options');	
      	define('_NOM_TEMPORAIRES_INACCESSIBLES', "tmp/"); 
      	define('_NOM_TEMPORAIRES_ACCESSIBLES', "var/");
      	define('_NOM_PERMANENTS_INACCESSIBLES', "etc/");
      	define('_NOM_PERMANENTS_ACCESSIBLES', "IMG/");
      
      	var/ comportant les images réduites créé dynamiquement
      	tmp/ jouant le role d'ecrire/data  et comportant egalement CACHE/
      	etc/ jouant le role de ecrire/ en tant que repertoire accessible en écriture.
      
      - inc_version ne définit plus de fontions, mais charge immédiatement inc/utils qui à l'inverse ne fait que définir des fonctions.
      
      - inc_version charge ensuite le fichier ecrire/mes_options.php (pour compatibilité) ou etc/mes_options (préférable aujourd'hui);
      
      - enfin, il appelle la fonction d'initialisation ainsi:
      
      	@spip_initialisation(
      	       (_DIR_RACINE  . _NOM_PERMANENTS_INACCESSIBLES),
      	       (_DIR_RACINE  . _NOM_PERMANENTS_ACCESSIBLES),
      	       (_DIR_RACINE  . _NOM_TEMPORAIRES_INACCESSIBLES),
      	       (_DIR_RACINE  . _NOM_TEMPORAIRES_ACCESSIBLES)
      	       );
      
      ce qui va définir les 4 répertoires accessibles en écriture à la racine du site, et initialiser toutes les autres constantes (notamment _SPIP_CHMOD).
      
      - toutefois l'inclusion de mes_options peut neutraliser cet appel soit partiellement (en définissant quelques unes des constantes normalement définies par spip_initialisation qui ne pourra plus agir dessus) soit totalement (en appelant lui-meme spip_initialisation avec d'autres arguments que ceux ci-dessus).
      
      Une application typique est de mettre dans ecrire/mes_options.php (ou etc/mes_otpions.php) les lignes suivantes:
      
      define('_SPIP_CHMOD', 0770);
      
      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  . '/:' .
      			_DIR_RACINE.':'.
      			_DIR_RACINE .'dist/:' .
      			_DIR_RESTREINT);
      
      		spip_initialisation(
      		       ($e . _NOM_PERMANENTS_INACCESSIBLES),
      		       ($e . _NOM_PERMANENTS_ACCESSIBLES),
      		       ($e . _NOM_TEMPORAIRES_INACCESSIBLES),
      		       ($e . _NOM_TEMPORAIRES_ACCESSIBLES)
      		       );
      
      		if (is_readable($e .=  _NOM_CONFIG . '.php')) include($e);
      	}
       }
      
      La première ligne réduit l'accès aux répertoires et fichiers créés par le serveur http à ce seul serveur. 
      
      A partir de l'URL du script appelé, les lignes suivantes déduisent un nom qui doit etre le nom d'un sous-répertoire Ajouts dans l'installation de Spip. L'exécution de ce script commence donc par déclarer les 4 sous-répertoires spécifiques au site, ainsi que le préfixe de ses table SQL. Au cas où existerait un fichier etc/mes_options pour ce site spécifique, celui est également chargé.
      
      L'utilisation des constantes _NOM_* permet donc de disposer d'un ensemble de répertoires et fichiers qui n'ont meme pas à savoir s'ils utilisent une installation mutualisée ou non de Spip.
      
      ATTENTION: il faut bien voir que les fonctions de inc/utils ne seront vraiment utilisables qu'après appel de spip_initialisation, car les constantes qu'elles utilisent (_DIR_TMP, _DIR_IMG etc) ne sont pas encore définies à l'entrée de mes_options (c'est justement ce qui permet de les personnaliser).
      5b1b73ff
    • esj's avatar
      Les modes d'affichage étaient mal pris en compte (Touti) · 138bf217
      esj a rédigé
      138bf217
  3. oct. 22, 2006
  4. oct. 21, 2006
  5. oct. 20, 2006
  6. oct. 19, 2006
Chargement en cours