8ed9f94529db96f1eec0f0ec039191f4a45802b2
[lhc/web/www.git] / www / plugins / saisies / balise / voir_saisie.php
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 * @uses Pile::recuperer_et_supprimer_argument_balise()
20 * @uses Pile::creer_et_ajouter_argument_balise()
21 * @uses Pile::creer_balise()
22 * @see balise_INCLURE_dist()
23 *
24 * @param Champ $p
25 * @return Champ
26 */
27 function balise_VOIR_SAISIE_dist ($p) {
28
29 // on recupere les parametres sans les traduire en code d'execution php
30 $type_saisie = Pile::recuperer_et_supprimer_argument_balise(1, $p);
31 $nom = Pile::recuperer_et_supprimer_argument_balise(1, $p);
32
33 // creer #ENV*{$titre} (* pour les cas de tableau serialises par exemple, que l'on veut reutiliser)
34 $env_nom = Pile::creer_balise('ENV', array('param' => array($nom), 'etoile' => '*')); // #ENV*{nom}
35
36 // on modifie $p pour ajouter des arguments
37 // {nom=$nom, valeur=#ENV{$nom}, type_saisie=$type, fond=saisies/_base}
38 $p = Pile::creer_et_ajouter_argument_balise($p, 'nom', $nom);
39 $p = Pile::creer_et_ajouter_argument_balise($p, 'valeur', $env_nom);
40 $p = Pile::creer_et_ajouter_argument_balise($p, 'type_saisie', $type_saisie);
41 $p = Pile::creer_et_ajouter_argument_balise($p, 'fond', 'saisies-vues/_base');
42
43 // on appelle la balise #INCLURE
44 // avec les arguments ajoutes
45 if(function_exists('balise_INCLURE')) {
46 return balise_INCLURE($p);
47 } else {
48 return balise_INCLURE_dist($p);
49 }
50
51 }