Skip to content
Extraits de code Groupes Projets
  1. oct. 25, 2006
  2. oct. 24, 2006
  3. 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
      138bf217
  4. oct. 22, 2006
  5. oct. 21, 2006
  6. oct. 20, 2006
    • esj's avatar
      Selecteurs Ajax (Suite de [7631] et [7655] pour #630). Réécriture du code du mini-navigateur: · 2d192666
      esj a rédigé
      - onkeypress='setTimeout(X); if (event.eyCode= 13) return false'
      est remplacé par
      	onkeypress='if (event.eyCode= 13) return false'
      	onkeyup='X'
      plus efficace et plus simple.
      
      En particulier, l'expression X teste si le retour de la requete Ajax ne renvoie qu'un seul résultat qui est alors aussitot pré-sélectionné (mais il faut toujours cliquer pour valider).
      
      Reintroduction du code qui supprime la plus vieilles de 2 requetes sur un meme noeud (finalement indispensable pour la recherche interactive car la recherche d' une chaine longue revient plus rapidement qu'une recheche sur un préfixe de cette chaine) mais sans garder le gestionnaire Ajax indéfiniment (==> try/catch pour éviter le NS_ERROR_NOT_AVAILABLE induit. Zon encore des progrès à faire dans leurs specs).
      
      Partage de code plus important entre les 2 mini-navigateurs (rubriques / auteurs) pour mutualiser les développements futurs.
      2d192666
    • Fil's avatar
      suite du commit precedent · 7606e2e1
      Fil a rédigé
      7606e2e1
Chargement en cours