1 | <?php |
---|
2 | |
---|
3 | /** |
---|
4 | * Déclaration de la balise `#VOIR_SAISIE` |
---|
5 | * |
---|
6 | * @package SPIP\Saisies\Balises |
---|
7 | **/ |
---|
8 | |
---|
9 | |
---|
10 | // Sécurité |
---|
11 | if (!defined("_ECRIRE_INC_VERSION")) return; |
---|
12 | |
---|
13 | /** |
---|
14 | * Compile la balise `#VOIR_SAISIE` qui retourne le code HTML de la vue d'une saisie indiquée |
---|
15 | * |
---|
16 | * Cette balise incluera le squelette `saisies-vues/_base.html` et lui-même `saisies-vues/{type}.html` |
---|
17 | * |
---|
18 | * @syntaxe `#VOIR_SAISIE{type,nom[,option=valeur,...]}` |
---|
19 | * |
---|
20 | * @param Champ $p |
---|
21 | * @return Champ |
---|
22 | */ |
---|
23 | function balise_VOIR_SAISIE_dist ($p) { |
---|
24 | |
---|
25 | // on recupere les parametres sans les traduire en code d'execution php |
---|
26 | $type_saisie = Pile::recuperer_et_supprimer_argument_balise(1, $p); |
---|
27 | $nom = Pile::recuperer_et_supprimer_argument_balise(1, $p); |
---|
28 | |
---|
29 | // creer #ENV*{$titre} (* pour les cas de tableau serialises par exemple, que l'on veut reutiliser) |
---|
30 | $env_nom = Pile::creer_balise('ENV', array('param' => array($nom), 'etoile' => '*')); // #ENV*{nom} |
---|
31 | |
---|
32 | // on modifie $p pour ajouter des arguments |
---|
33 | // {nom=$nom, valeur=#ENV{$nom}, type_saisie=$type, fond=saisies/_base} |
---|
34 | $p = Pile::creer_et_ajouter_argument_balise($p, 'nom', $nom); |
---|
35 | $p = Pile::creer_et_ajouter_argument_balise($p, 'valeur', $env_nom); |
---|
36 | $p = Pile::creer_et_ajouter_argument_balise($p, 'type_saisie', $type_saisie); |
---|
37 | $p = Pile::creer_et_ajouter_argument_balise($p, 'fond', 'saisies-vues/_base'); |
---|
38 | |
---|
39 | // on appelle la balise #INCLURE |
---|
40 | // avec les arguments ajoutes |
---|
41 | if(function_exists('balise_INCLURE')) |
---|
42 | return balise_INCLURE($p); |
---|
43 | else |
---|
44 | return balise_INCLURE_dist($p); |
---|
45 | |
---|
46 | } |
---|