Skip to content
Extraits de code Groupes Projets
Valider fa5a6be9 rédigé par JamesRezo's avatar JamesRezo :tada:
Parcourir les fichiers

balise #FOREACH. afficher le contenu d'une balise composee d'un tableau...

balise #FOREACH. afficher le contenu d'une balise composee d'un tableau asociatif en se basant sur un modele spip
parent 941660d6
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -244,6 +244,7 @@ dist/modeles/article_mots.html -text
dist/modeles/article_traductions.html -text
dist/modeles/doc.html -text
dist/modeles/emb.html -text
dist/modeles/foreach.html -text
dist/modeles/img.html -text
dist/modeles/lesauteurs.html -text
dist/modeles/pagination.html -text
......
#PUCE #ENV{cle} => #ENV{valeur}<br />
......@@ -2106,4 +2106,16 @@ function http_style_background($img, $att='')
return " style='background: url(\"".http_wrapper($img)."\")" .
($att ? (' ' . $att) : '') . ";'";
}
?>
//[(#ENV*|unserialize|foreach)]
function filtre_foreach_dist($balise_deserializee, $modele = 'foreach') {
$texte = '';
foreach($balise_deserializee as $k => $v)
$texte .= recuperer_fond(
'modeles/'.$modele,
array('cle' => $k, 'valeur' => $v)
);
return $texte;
}
?>
\ No newline at end of file
......@@ -1346,6 +1346,33 @@ function balise_ARRAY_dist($p) {
return $p;
}
//#FOREACH
//
function balise_FOREACH_dist($p) {
$_tableau = interprete_argument_balise(1,$p);
if($_tableau == "''" OR $_tableau == NULL) $_tableau = "'ENV'";
$_code = interprete_argument_balise(2,$p);
if($_code == "''" OR $_code == NULL) $_code = "'foreach'";
$_tableau = str_replace("'", "", strtoupper($_tableau));
$balise = function_exists($f ='balise_'.$_tableau) ? $f :
function_exists($g = $f.'_dist') ? $g : '';
if($balise) {
$p->param = @array_shift(@array_shift($p->param));
$p = $balise($p);
//retirer le serialize
$p->code = preg_replace(',^serialize\((.*)\)$,', '\1', $p->code);
$filtre = chercher_filtre('foreach');
$p->code = $filtre . "(" . $p->code . ", " . $_code . ")";
}
//On a pas trouve la balise correspondant au tableau a traiter
else {
$p->code = "''";
}
return $p;
}
// Appelle la fonction autoriser et renvoie ' ' si OK, '' si niet
// A noter : la priorite des operateurs exige && plutot que AND
......
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