Browse Source

Extension de la fonction sous_repertoire, qui accepte un appel de forme {{{sous_repertoire("d/f")}}} comme équivalent à {{{sous_repertoire("d", "f")}}}. Du coup, disparition d'une incohérence: la non utilisation de la constante _DIR_SKELS lors de la compilation d'un squelette.

Cet appel est aussi utilisé pour la création du répertoire de cache des DTD, celui-ci s'annonçant comme bien rempli à l'avenir.
svn/root/tags/spip-1.9.2f
Committo,Ergo:sum 15 years ago
parent
commit
a06d6ffa7e
  1. 22
      ecrire/inc/flock.php
  2. 6
      ecrire/inc/utils.php
  3. 3
      ecrire/inc/valider_xml.php
  4. 2
      ecrire/public/compiler.php
  5. 2
      ecrire/public/composer.php

22
ecrire/inc/flock.php

@ -141,18 +141,24 @@ function supprimer_fichier($fichier) {
//
// Retourne $base/${subdir}/ si le sous-repertoire peut etre cree,
// $base/${subdir}_ sinon ; le flag $nobase signale qu'on ne veut pas de $base/
// $base/${subdir}_ sinon ; $nobase signale qu'on ne veut pas de $base/
// On peut aussi ne donner qu'un seul argument,
// subdir valant alors ce qui suit le dernier / dans $base
//
// http://doc.spip.org/@sous_repertoire
function sous_repertoire($base, $subdir, $nobase = false) {
if (!preg_match(',[/_]$,', $base)) $base .= '/';
function sous_repertoire($base, $subdir='', $nobase = false) {
$base = str_replace("//", "/", $base);
if (preg_match(',[/_]$,', $base)) $base = substr($base,0,-1);
if (!strlen($subdir)) {
$n = strrpos($base, "/");
if ($n === false) return $nobase ? '' : ($base .'/');
$subdir = substr($base, $n+1);
$base = substr($base, 0, $n+1);
} else {
$base .= '/';
$subdir = str_replace("/", "", "$subdir");
}
$baseaff = $nobase ? '' : $base;
# $base = 'IMG/distant/' ou 'IMG/distant_'
if (!strlen($subdir)) return $baseaff;
$subdir = str_replace("/", "", "$subdir");
if (@file_exists("$base${subdir}.plat"))
return "$baseaff${subdir}_";;

6
ecrire/inc/utils.php

@ -935,7 +935,7 @@ function spip_initialisation($pi=NULL, $pa=NULL, $ti=NULL, $ta=NULL) {
define('_DIR_SESSIONS', $ti . "sessions/");
define('_DIR_TRANSFERT', $ti . "upload/");
define('_DIR_CACHE', $ti . "CACHE/");
define('_DIR_DTD', $ti . "CACHE/dtd");
define('_DIR_DTD', $ti . "CACHE/dtd/");
define('_DIR_SKELS', $ti . "CACHE/skel/");
define('_DIR_TMP', $ti);
@ -991,8 +991,8 @@ function spip_initialisation($pi=NULL, $pa=NULL, $ti=NULL, $ta=NULL) {
define('_DOCTYPE_ECRIRE',
// "<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>\n");
// "<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'>");
"<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>\n");
"<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'>");
// "<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>\n");
define('_DOCTYPE_AIDE',
"<!DOCTYPE html PUBLIC '-//W3C//DTD HTML 4.01 Frameset//EN' 'http://www.w3.org/TR/1999/REC-html401-19991224/frameset.dtd'>");

3
ecrire/inc/valider_xml.php

@ -67,7 +67,8 @@ function analyser_dtd($grammaire, $avail, &$dtc)
if ($avail == 'SYSTEM')
$file = $grammaire;
else
$file = _DIR_CACHE . preg_replace('/[^\w.]/','_', $grammaire);
$file = sous_repertoire(_DIR_DTD);
$file .= preg_replace('/[^\w.]/','_', $grammaire);
if (@is_readable($file)) {
lire_fichier($file, $dtd);

2
ecrire/public/compiler.php

@ -772,7 +772,7 @@ function public_compiler_dist($squelette, $nom, $gram, $sourcefile) {
$secondes = spip_timer('calcul_skel');
spip_log("COMPIL ($secondes) ["
.preg_replace(',\.html$,', '', $sourcefile)
."] ".sous_repertoire(_DIR_CACHE, 'skel', true)."$nom.php");
."] $nom.php");
$code = "<"."?php
/*

2
ecrire/public/composer.php

@ -39,7 +39,7 @@ function public_composer_dist($squelette, $mime_type, $gram, $sourcefile) {
if (function_exists($nom))
return $nom;
$phpfile = sous_repertoire(_DIR_CACHE, 'skel') . $nom . '.php';
$phpfile = sous_repertoire(_DIR_SKELS) . $nom . '.php';
// si squelette est deja compile et perenne, le charger
if (!squelette_obsolete($phpfile, $sourcefile)

Loading…
Cancel
Save