From 6efb5eaa5c5a26092513dc9aad26acfa0d61e6aa Mon Sep 17 00:00:00 2001 From: Fil <fil@rezo.net> Date: Wed, 18 Jan 2006 22:36:09 +0000 Subject: [PATCH] =?UTF-8?q?Dans=20les=20formulaires=20:=20pourquoi=20faire?= =?UTF-8?q?=20compliqu=C3=A9=20quand=20on=20peut=20faire=20simple=20:=20en?= =?UTF-8?q?tites=5Fhtml=20est=20le=20filtre=20par=20d=C3=A9faut=20de=20[(#?= =?UTF-8?q?ENV{truc})]=20!?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ecrire/inc_charsets.php3 | 17 +++++++++++++++-- formulaires/formulaire_forum.html | 10 +++++----- formulaires/formulaire_recherche.html | 2 +- formulaires/inc-formulaire_forum.php3 | 12 +++++------- formulaires/inc-formulaire_recherche.php3 | 10 +++++----- inc-balises.php3 | 2 +- 6 files changed, 32 insertions(+), 21 deletions(-) diff --git a/ecrire/inc_charsets.php3 b/ecrire/inc_charsets.php3 index 0d980d685a..ed4e81789a 100644 --- a/ecrire/inc_charsets.php3 +++ b/ecrire/inc_charsets.php3 @@ -483,9 +483,22 @@ function translitteration($texte, $charset='AUTO', $complexe='') { return strtr($texte, $trans[$complexe]); } -function translitteration_complexe($texte) { - return translitteration($texte,'AUTO','complexe'); +// à est retourne sous la forme "a`" et pas "a" +// mais si $chiffre=true, on retourne "a8" (vietnamien) +function translitteration_complexe($texte, $chiffres=false) { + $texte = translitteration($texte,'AUTO','complexe'); + + if ($chiffres) { + $texte = preg_replace("/[aeiuoyd]['`?~.^+(-]{1,2}/e", + "translitteration_chiffree('\\0')", $texte); + } + + return $texte; } +function translitteration_chiffree($car) { + return strtr($car, "'`?~.^+(-", "123456789"); +} + // Reconnaitre le BOM utf-8 (0xEFBBBF) function bom_utf8($texte) { diff --git a/formulaires/formulaire_forum.html b/formulaires/formulaire_forum.html index 05937ca0d3..cdc3852586 100644 --- a/formulaires/formulaire_forum.html +++ b/formulaires/formulaire_forum.html @@ -8,14 +8,14 @@ <fieldset class="spip_encadrer"> <legend><b><:forum_titre:></b></legend> <label><input type="text" name="titre" - [value="(#ENV*{titre})" ]class="forml" size="40" /> + [value="(#ENV{titre})" ]class="forml" size="40" /> </label> </fieldset> <br /> <fieldset class="spip_encadrer"> <legend><b><:forum_texte:></b></legend> <p><:info_creation_paragraphe:></p> - [(#ENV*{texte}|barre_forum)] + [(#ENV{texte}|barre_forum)] </fieldset> <br /> [<p>(#ENV*{table})</p>] @@ -24,18 +24,18 @@ <p><:forum_page_url:></p> <p><label><:forum_titre:> <input type="text" name="nom_site_forum" class="forml" size="40" - value="[(#ENV*{nom_site_forum})]" /> + value="[(#ENV{nom_site_forum})]" /> </label></p> <p><label><:forum_url:> <input type="text" name="url_site" class="forml" size="40" - value="[(#ENV*{url_site})]" /> + value="[(#ENV{url_site})]" /> </label></p> </fieldset> <br /> <fieldset class="spip_encadrer"> <legend><:forum_qui_etes_vous:></legend> <p><label><:forum_votre_nom:> - <input type="text" name="auteur" value="[(#ENV*{auteur})]" + <input type="text" name="auteur" value="[(#ENV{auteur})]" class="forml" size="40" [(#ENV{disabled})] /> </label></p> <p><label><:forum_votre_email:> diff --git a/formulaires/formulaire_recherche.html b/formulaires/formulaire_recherche.html index 355a8cecdb..38a6692064 100644 --- a/formulaires/formulaire_recherche.html +++ b/formulaires/formulaire_recherche.html @@ -4,6 +4,6 @@ id="formulaire_recherche" class="formrecherche" name="recherche" - value="[(#ENV*{recherche_securisee})]" /> + value="[(#ENV{recherche})]" /> </div> </form> diff --git a/formulaires/inc-formulaire_forum.php3 b/formulaires/inc-formulaire_forum.php3 index e873bf0c0e..ab816f86f4 100644 --- a/formulaires/inc-formulaire_forum.php3 +++ b/formulaires/inc-formulaire_forum.php3 @@ -243,17 +243,17 @@ function balise_FORMULAIRE_FORUM_dyn($titre, $table, $forums_publics, $id_rubriq return array('formulaire_forum', 0, array( - 'auteur' => entites_html($auteur), + 'auteur' => $auteur, 'disabled' => ($forums_publics == "abo")? " disabled='disabled'" : '', 'email_auteur' => $email_auteur, 'modere' => (($forums_publics != 'pri') ? '' : _T('forum_info_modere')), - 'nom_site_forum' => entites_html($nom_site_forum), + 'nom_site_forum' => $nom_site_forum, 'previsu' => $previsu, 'table' => $table, 'texte' => $texte, - 'titre' => entites_html(extraire_multi($titre)), - 'url' => entites_html($url), - 'url_site' => ($url_site ? entites_html($url_site) : "http://"), + 'titre' => extraire_multi($titre), + 'url' => $url, + 'url_site' => ($url_site ? $url_site : "http://"), 'parametres_forum' => $parametres_forum, ## gestion des la variable de personnalisation $afficher_texte @@ -275,8 +275,6 @@ function balise_FORMULAIRE_FORUM_dyn($titre, $table, $forums_publics, $id_rubriq function barre_forum($texte) { include_ecrire('inc_layer'); - $texte = entites_html($texte); - if (!$GLOBALS['browser_barre']) return "<textarea name='texte' rows='12' class='forml' cols='40'>$texte</textarea>"; static $num_formulaire = 0; diff --git a/formulaires/inc-formulaire_recherche.php3 b/formulaires/inc-formulaire_recherche.php3 index 89c88bbc4b..6403223631 100644 --- a/formulaires/inc-formulaire_recherche.php3 +++ b/formulaires/inc-formulaire_recherche.php3 @@ -28,15 +28,15 @@ function balise_FORMULAIRE_RECHERCHE_stat($args, $filtres) { function balise_FORMULAIRE_RECHERCHE_dyn($lien, $rech) { include_ecrire('inc_filtres'); - if (!$recherche_securisee = entites_html(_request('recherche'))) { - if (!$recherche_securisee = entites_html($rech)) { - $recherche_securisee = _T('info_rechercher'); - } + if (!$recherche = _request('recherche') + AND !$recherche = $rech) { + include_ecrire('inc_charsets'); + $recherche = html2unicode(_T('info_rechercher')); } return array('formulaire_recherche', 3600, array('lien' => ($lien ? $lien : generer_url_public('recherche')), - 'recherche_securisee' => $recherche_securisee + 'recherche' => $recherche )); } diff --git a/inc-balises.php3 b/inc-balises.php3 index 81f5abf3eb..a5b032d075 100644 --- a/inc-balises.php3 +++ b/inc-balises.php3 @@ -223,7 +223,7 @@ function balise_NOTES_dist($p) { } function balise_RECHERCHE_dist($p) { - $p->code = 'htmlspecialchars($GLOBALS["recherche"])'; + $p->code = 'entites_html($GLOBALS["recherche"])'; $p->interdire_scripts = false; return $p; } -- GitLab