Skip to content
Extraits de code Groupes Projets
Valider 0fc1f916 rédigé par cerdic's avatar cerdic
Parcourir les fichiers

porter le formulaire recherche dans la nouvelle api balise dynamique

au passage permettre de definir une fonction balise_XX_stat() pour argumenter
sans pour autant definir de fonction _dyn

la fonction stat permet ici de continuer provisoirement le support de 
[(#FORMULAIRE_RECHERCHE|spip.php?page=tralala)]

on encourage vivement a utiliser la seule ecriture qui devrait etre acceptee :
[(#FORMULAIRE_RECHERCHE{spip.php?page=tralala})]
parent df8f4a1a
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
<div class="formulaire_spip formulaire_recherche" id="formulaire_recherche"> <div class="formulaire_spip formulaire_recherche" id="formulaire_recherche">
<form action="[(#ENV{lien})]" method="get"><div> <form action="[(#ENV{lien})]" method="get" class='noajax'><div>
[(#ENV{lien}|form_hidden)] #ACTION_FORMULAIRE{#ENV{lien}}
[<input type="hidden" name="lang" value="(#ENV{lang})" />] [<input type="hidden" name="lang" value="(#ENV{lang})" />]
<label for="recherche"><:info_rechercher:></label> <label for="recherche"><:info_rechercher:></label>
<input type="text" class="forml" size="10" name="recherche" id="recherche"[ value="(#ENV{recherche})"] accesskey="4" /> <input type="text" class="forml" size="10" name="recherche" id="recherche"[ value="(#ENV{recherche})"] accesskey="4" />
......
...@@ -14,33 +14,10 @@ if (!defined("_ECRIRE_INC_VERSION")) return; #securite ...@@ -14,33 +14,10 @@ if (!defined("_ECRIRE_INC_VERSION")) return; #securite
// Pas besoin de contexte de compilation // 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 // http://doc.spip.org/@balise_FORMULAIRE_RECHERCHE_stat
function balise_FORMULAIRE_RECHERCHE_stat($args, $filtres) { function balise_FORMULAIRE_RECHERCHE_stat($args, $filtres) {
// filtres[0] doit etre un script (a revoir) // filtres[0] doit etre un script (a revoir)
return array($filtres[0], $args ? $args[0] : ''); 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
...@@ -251,7 +251,6 @@ function executer_balise_dynamique($nom, $args, $filtres, $lang, $ligne) { ...@@ -251,7 +251,6 @@ function executer_balise_dynamique($nom, $args, $filtres, $lang, $ligne) {
else else
die ("pas de balise dynamique pour #". strtolower($nom)." !"); die ("pas de balise dynamique pour #". strtolower($nom)." !");
} }
// Y a-t-il une fonction de traitement filtres-arguments ? // Y a-t-il une fonction de traitement filtres-arguments ?
$f = 'balise_' . $nom . '_stat'; $f = 'balise_' . $nom . '_stat';
if (function_exists($f)) if (function_exists($f))
...@@ -261,6 +260,18 @@ function executer_balise_dynamique($nom, $args, $filtres, $lang, $ligne) { ...@@ -261,6 +260,18 @@ function executer_balise_dynamique($nom, $args, $filtres, $lang, $ligne) {
if (!is_array($r)) if (!is_array($r))
return $r; return $r;
else { 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) if (!_DIR_RESTREINT)
$file = _DIR_RESTREINT_ABS . $file; $file = _DIR_RESTREINT_ABS . $file;
return synthetiser_balise_dynamique($nom, $r, $file, $lang, $ligne); return synthetiser_balise_dynamique($nom, $r, $file, $lang, $ligne);
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter