From 6e32bec5fed10996ea9c8023a3c84024fa4058b5 Mon Sep 17 00:00:00 2001 From: "Committo,Ergo:sum" <esj@rezo.net> Date: Thu, 26 Jan 2006 22:53:34 +0000 Subject: [PATCH] accepter l'absence de [(...)] autour de #ENV{...} et consorts --- ecrire/inc_presentation.php | 2 +- formulaires/formulaire_ecrire_auteur.html | 16 ++++++++-------- inc-compilo-index.php3 | 3 +++ inc-html-squel.php3 | 20 +++++++++++++++----- 4 files changed, 27 insertions(+), 14 deletions(-) diff --git a/ecrire/inc_presentation.php b/ecrire/inc_presentation.php index 9be5f0300c..6ad7f7e3e7 100644 --- a/ecrire/inc_presentation.php +++ b/ecrire/inc_presentation.php @@ -1835,7 +1835,7 @@ function debut_javascript($admin, $stat) a.send(null); }"; } else $ajax = ""; - spip_log("Ajax $ajax " . $GLOBALS['_COOKIE']['spip_accepte_ajax']); + return // envoi le fichier JS de config si browser ok. $GLOBALS['browser_layer'] . diff --git a/formulaires/formulaire_ecrire_auteur.html b/formulaires/formulaire_ecrire_auteur.html index d35cb31aa8..382db66f75 100644 --- a/formulaires/formulaire_ecrire_auteur.html +++ b/formulaires/formulaire_ecrire_auteur.html @@ -7,12 +7,12 @@ [(#REM) Previsualisation ... ] [<input type="hidden" name="num_formulaire_ecrire_auteur" value="(#ENV{valide})" />] [<div class='spip_encadrer'> -<i>[(#ENV{mail})]</i> - <strong>[(#ENV{sujet})]</strong> +<i>#ENV{mail}</i> - <strong>#ENV{sujet}</strong> <div> [(#ENV{texte}|nl2br)] </div> <div style="text-align:#LANG_RIGHT;"> - <input type="submit" class="spip_bouton" name="confirmer[(#ENV{id})]" + <input type="submit" class="spip_bouton" name="confirmer#ENV{id}" value="(#ENV{boutonconfirmation})" /> </div> </div> @@ -20,19 +20,19 @@ [(#REM) Formulaire normal ] <p><label><:form_pet_votre_email:><br /> -<input type="text" class="forml" name="email_message_auteur[(#ENV{id})]" - value="[(#ENV{mail})]" size="30" /> +<input type="text" class="forml" name="email_message_auteur#ENV{id}" + value="#ENV{mail}" size="30" /> </label></p> <p><label><:form_prop_sujet:><br /> -<input type="text" class="forml" name="sujet_message_auteur[(#ENV{id})]" - value="[(#ENV{sujet})]" size="30" /> +<input type="text" class="forml" name="sujet_message_auteur#ENV{id}" + value="#ENV{sujet}" size="30" /> </label></p> <p> -<textarea name="texte_message_auteur[(#ENV{id})]" rows='10' class='forml' cols='40'>[(#ENV{texte})]</textarea> +<textarea name="texte_message_auteur#ENV{id}" rows='10' class='forml' cols='40'>#ENV{texte}</textarea> </p> <div style="text-align:#LANG_RIGHT;"> <input type="submit" class="spip_bouton" name="valide" - value="[(#ENV{bouton})]" /> + value="#ENV{bouton}" /> </div> </form> diff --git a/inc-compilo-index.php3 b/inc-compilo-index.php3 index 619e8d12e6..5927f20c63 100644 --- a/inc-compilo-index.php3 +++ b/inc-compilo-index.php3 @@ -187,6 +187,9 @@ function calculer_balise($nom, $p) { // ca pourrait etre un champ SQL homonyme, $p->code = index_pile($p->id_boucle, $nom, $p->boucles, $p->nom_boucle); + // compatibilite: depuis qu'on accepte #BALISE{ses_args} sans [(...)] autour + // il faut recracher {...} quand ce n'est finalement pas des args + if ($p->param) {$p->code .= " . '{" . addslashes($p->param[0][1][0]->texte) . "}'";} // ne pas passer le filtre securite sur les id_xxx if (strpos($nom, 'ID_') === 0) $p->interdire_scripts = false; diff --git a/inc-html-squel.php3 b/inc-html-squel.php3 index bff7a3775b..74e72d9c2a 100644 --- a/inc-html-squel.php3 +++ b/inc-html-squel.php3 @@ -149,6 +149,9 @@ function phraser_champs($texte,$ligne,$result) { $champ->nom_boucle = $match[2]; $champ->nom_champ = $match[3]; $champ->etoile = $match[5]; + if ($suite[0] == '{') { + phraser_arg($suite, '', '', array(), $champ); + } $texte = $suite; $result[] = $champ; } else { @@ -183,6 +186,15 @@ function phraser_champs_etendus($texte, $ligne,$result) { function phraser_args($texte, $fin, $sep, $result, &$pointeur_champ) { $texte = ltrim($texte); while (($texte!=="") && strpos($fin, $texte[0]) === false) { + $result = phraser_arg($texte, $fin, $sep, $result, $pointeur_champ); + } +# mettre ici la suite du texte, +# notamment pour que l'appelant vire le caractere fermant si besoin + $pointeur_champ->apres = $texte; + return $result; +} + +function phraser_arg(&$texte, $fin, $sep, $result, &$pointeur_champ) { preg_match(",^(\|?[^{)|]*)(.*)$,ms", $texte, $match); $suite = ltrim($match[2]); $fonc = trim($match[1]); @@ -216,6 +228,7 @@ function phraser_args($texte, $fin, $sep, $result, &$pointeur_champ) { } } $arg = $regs[2]; + if (trim($regs[1])) { $champ = new Texte; $champ->texte = $arg; @@ -263,7 +276,6 @@ function phraser_args($texte, $fin, $sep, $result, &$pointeur_champ) { if ($collecte) {$res[] = $collecte; $collecte = array();} } - } if ($collecte) {$res[] = $collecte; $collecte = array();} $args = substr($args,1); @@ -273,12 +285,10 @@ function phraser_args($texte, $fin, $sep, $result, &$pointeur_champ) { // pour les balises avec faux filtres qui boudent ce dur larbeur $pointeur_champ->fonctions[] = array($fonc, substr($suite, 0, $n)); $texte = ltrim($args); - } - # laisser l'appelant virer le caractere fermant - $pointeur_champ->apres = $texte; - return $result; + return $result; } + function phraser_champs_exterieurs($texte, $ligne, $sep, $nested) { $res = array(); while (($p=strpos($texte, "%$sep"))!==false) { -- GitLab