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

balises #SET et #GET permettant d'affecter des variables locales aux squelettes

#SET{mavariable,valeur} affecte mavariable avec valeur et renvoie valeur
Pour ne rien renvoyer, appliquer le filtre rien :
[(#SET{mavariable,valeur}|rien)]

#GET{mavariable} recupere la valeur

Les variables crees sont locales au squelette et ne sont pas transmises par les INCLURE
Elles sont distinctes des variables d'environnement (#SET{date,''} n'ecrase pas #ENV{date})
parent d9921b45
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -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
......@@ -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
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