diff --git a/dist/formulaires/recherche.html b/dist/formulaires/recherche.html index f14db58fea12f58af1095b894cfdd578f98754d3..f8d684a2c627b6e9874614269028c96f0006a8b6 100644 --- a/dist/formulaires/recherche.html +++ b/dist/formulaires/recherche.html @@ -1,6 +1,6 @@ <div class="formulaire_spip formulaire_recherche" id="formulaire_recherche"> -<form action="[(#ENV{lien})]" method="get"><div> - [(#ENV{lien}|form_hidden)] +<form action="[(#ENV{lien})]" method="get" class='noajax'><div> + #ACTION_FORMULAIRE{#ENV{lien}} [<input type="hidden" name="lang" value="(#ENV{lang})" />] <label for="recherche"><:info_rechercher:></label> <input type="text" class="forml" size="10" name="recherche" id="recherche"[ value="(#ENV{recherche})"] accesskey="4" /> diff --git a/ecrire/balise/formulaire_recherche.php b/ecrire/balise/formulaire_recherche.php index dd6eb6554d277e3d12bc18c12630934a16274836..1a61105483430fc19347df20055685c98d3523cc 100644 --- a/ecrire/balise/formulaire_recherche.php +++ b/ecrire/balise/formulaire_recherche.php @@ -14,33 +14,10 @@ if (!defined("_ECRIRE_INC_VERSION")) return; #securite // Pas besoin de contexte de compilation - -// http://doc.spip.org/@balise_FORMULAIRE_RECHERCHE -function balise_FORMULAIRE_RECHERCHE ($p) -{ - return calculer_balise_dynamique($p, 'FORMULAIRE_RECHERCHE', array()); -} - // http://doc.spip.org/@balise_FORMULAIRE_RECHERCHE_stat function balise_FORMULAIRE_RECHERCHE_stat($args, $filtres) { // filtres[0] doit etre un script (a revoir) return array($filtres[0], $args ? $args[0] : ''); } - -// http://doc.spip.org/@balise_FORMULAIRE_RECHERCHE_dyn -function balise_FORMULAIRE_RECHERCHE_dyn($lien, $rech) { - - if ($GLOBALS['spip_lang'] != $GLOBALS['meta']['langue_site']) - $lang = $GLOBALS['spip_lang']; - else - $lang=''; - - return array('formulaires/recherche', 3600, - array( - 'lien' => ($lien ? $lien : generer_url_public('recherche')), - 'recherche' => _request('recherche'), - 'lang' => $lang - )); -} -?> +?> \ No newline at end of file diff --git a/ecrire/public/composer.php b/ecrire/public/composer.php index 943ca15b1cfdcc97b649130e899336b64558a28e..1892b57072d2821bbdd401d3a1df53cedf4abe19 100644 --- a/ecrire/public/composer.php +++ b/ecrire/public/composer.php @@ -251,7 +251,6 @@ function executer_balise_dynamique($nom, $args, $filtres, $lang, $ligne) { else die ("pas de balise dynamique pour #". strtolower($nom)." !"); } - // Y a-t-il une fonction de traitement filtres-arguments ? $f = 'balise_' . $nom . '_stat'; if (function_exists($f)) @@ -261,6 +260,18 @@ function executer_balise_dynamique($nom, $args, $filtres, $lang, $ligne) { if (!is_array($r)) return $r; else { + // verifier que la fonction dyn est la, sinon se replier sur la generique si elle existe + if (!function_exists('balise_' . $nom . '_dyn')){ + // regarder si une fonction generique n'existe pas + if (($p = strpos($nom,"_")) + && ($file = find_in_path(strtolower(substr($nom,0,$p+1)) .'.php', 'balise/', true))) { + // dans ce cas, on lui injecte en premier arg le nom de la balise qu'on doit traiter + array_unshift($r,$nom); + $nom = substr($nom,0,$p+1); + } + else + die ("pas de balise dynamique pour #". strtolower($nom)." !"); + } if (!_DIR_RESTREINT) $file = _DIR_RESTREINT_ABS . $file; return synthetiser_balise_dynamique($nom, $r, $file, $lang, $ligne);