diff --git a/ecrire/inc/filtres.php b/ecrire/inc/filtres.php index b0aeceba21b484ec39994dc336e7369ec372b495..33fb807f3f0e736c2f936f5cab100aa5e85b2dcb 100644 --- a/ecrire/inc/filtres.php +++ b/ecrire/inc/filtres.php @@ -1493,4 +1493,9 @@ function match($texte,$expression,$modif="UimsS"){ return preg_match("/$expression/$modif",$texte); } +// filtre rien qui ne renvoie rien +function rien($texte){ + return ""; +} + ?> \ No newline at end of file diff --git a/ecrire/public/balises.php b/ecrire/public/balises.php index 35741e60a2e9fd64082f001573a4747de655a453..151af24c7a567cdb8cecddb5b13912ea19549785 100644 --- a/ecrire/public/balises.php +++ b/ecrire/public/balises.php @@ -1146,7 +1146,10 @@ function balise_INSERT_HEAD_dist($p) { // corrolairement, le produit du squelette peut etre utilise en entree de filtres a suivre // function balise_INCLUDE_dist($p) { - return balise_INCLURE_dist($p); + if(function_exists('balise_INCLURE')) + return balise_INCLURE($p); + else + return balise_INCLURE_dist($p); } function balise_INCLURE_dist($p) { $champ = new Inclure; @@ -1189,4 +1192,46 @@ function balise_INCLURE_dist($p) { $p->interdire_scripts = false; return $p; } -?> + +// +// #SET +// Affecte une variable locale au squelette +// #SET{nom,valeur} +// la balise renvoie la valeur +function balise_SET_dist($p){ + if ($p->param && !$p->param[0][0]) { + $_nom = calculer_liste($p->param[0][1], + $p->descr, + $p->boucles, + $p->id_boucle); + + $_valeur = calculer_liste($p->param[0][2], + $p->descr, + $p->boucles, + $p->id_boucle); + + if ($args != "''") + $p->code .= ','.$args; + + // autres filtres (???) + array_shift($p->param); + } + + $p->code = "(\$Pile['vars'][$_nom] = $_valeur)"; + + #$p->interdire_scripts = true; + return $p; +} + +// +// #GET +// Recupere une variable locale au squelette +// #GET{nom,defaut} renvoie defaut si la variable nom n'a pas ete affectee +// +function balise_GET_dist($p) { + if(function_exists('balise_ENV')) + return balise_ENV($p, '$Pile["vars"]'); + else + return balise_ENV_dist($p, '$Pile["vars"]'); +} +?> \ No newline at end of file