Update of /home/spip-cvs/spip
In directory alan:/tmp/cvs-serv8185
Modified Files:
inc-public-global.php3 inc-text-squel.php3
Log Message:
encore des patches, car les ' et les " peuvent passer dans les critères d'inclusion (exemple : {titre="'"} pour repérer ensuite, dans le squelette inclus, les articles dont le titre contient un ' avec la boucle (ARTICLES){titre==$titre} )
Oui, c'est tordu, mais logique 
Index: inc-public-global.php3
RCS file: /home/spip-cvs/spip/inc-public-global.php3,v
retrieving revision 1.109
retrieving revision 1.110
diff -u -d -r1.109 -r1.110
--- inc-public-global.php3 20 Jul 2004 17:49:24 -0000 1.109
+++ inc-public-global.php3 20 Jul 2004 23:51:19 -0000 1.110
@@ -25,7 +25,7 @@
// Si on a inclus sans fixer le critere de lang, de deux choses l'une :
// - on est dans la langue du site, et pas besoin d'inclure inc_lang
// - on n'y est pas, et alors il faut revenir dans la langue par defaut
- if ($lang = $contexte_inclus['lang']
+ if (($lang = $contexte_inclus['lang'])
|| ($GLOBALS['spip_lang'] != ($lang = lire_meta('langue_site')))) {
include_ecrire('inc_lang.php3');
lang_select($lang);
Index: inc-text-squel.php3
RCS file: /home/spip-cvs/spip/inc-text-squel.php3,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -d -r1.7 -r1.8
--- inc-text-squel.php3 20 Jul 2004 23:04:49 -0000 1.7
+++ inc-text-squel.php3 20 Jul 2004 23:51:20 -0000 1.8
@@ -6,30 +6,32 @@
$criteres = '';
if ($params) {
foreach($params as $param) {
- if (ereg("^([_0-9a-zA-Z]+)[[:space:]]*(=[[:space:]]*([^}]+))?$", $param, $args)) {
- $var = $args[1];
- $val = $args[3];
+ if (ereg("^([_0-9a-zA-Z]+)[[:space:]]*(=[[:space:]]*([^}]+))?$", $param, $args)) {
+ $var = $args[1];
+ $val = ereg_replace('^["\'](.*)["\']$', "\\1", trim($args[3]));
+ $val = addslashes(addslashes($val));
+
// Cas de la langue : passer $spip_lang
// et non table.lang (car depend de {lang_select})
- if ($var =='lang') {
+ if ($var =='lang') {
if ($val)
- $l[] = "'\'lang\' => " . addslashes($val) . "'";
+ $l[] = "\'lang\' => \'$val\'";
else
- $l[] = "'\'lang\' => \''.\$GLOBALS[spip_lang].'\''";
+ $l[] = "\'lang\' => \''.\$GLOBALS[spip_lang].'\'";
}
- else
+
+ // Cas normal {var=val}
+ else
if ($val)
- $l[] = "'\'$var\' => " . addslashes($val) . "'";
- else {
- $l[] = "'\'$var\' => \'' . addslashes(" . index_pile($id_boucle, $var, $boucles) . ") .'\''";
- }
+ $l[] = "\'$var\' => \'$val\'";
+ else
+ $l[] = "\'$var\' => \'' . addslashes(" . index_pile($id_boucle, $var, $boucles) . ") .'\'";
}
- $criteres = ("' . " . join(".', '.\n",$l) . " . '");
+ $criteres = join(", ",$l);
}
}
return "\n'<".
- "?php
- \$contexte_inclus = array($criteres);" .
+ "?php\n\t\$contexte_inclus = array($criteres);\n" .
(($dossier_squelettes) ?
("
if (@file_exists(\'$dossier_squelettes/$fichier\')){