671175edf60dcce01fc42a3b4d6835204af4653e
[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')) {
12 return;
13 }
14
15 /**
16 * Compile la balise `#VOIR_SAISIE` qui retourne le code HTML de la vue d'une saisie indiquée
17 *
18 * Cette balise incluera le squelette `saisies-vues/_base.html` et lui-même `saisies-vues/{type}.html`
19 *
20 * @syntaxe `#VOIR_SAISIE{type,nom[,option=valeur,...]}`
21 * @uses Pile::recuperer_et_supprimer_argument_balise()
22 * @uses Pile::creer_et_ajouter_argument_balise()
23 * @uses Pile::creer_balise()
24 * @see balise_INCLURE_dist()
25 *
26 * @param Champ $p
27 * @return Champ
28 */
29 function balise_VOIR_SAISIE_dist($p) {
30
31 // on recupere les parametres sans les traduire en code d'execution php
32 $type_saisie = Pile::recuperer_et_supprimer_argument_balise(1, $p);
33 $nom = Pile::recuperer_et_supprimer_argument_balise(1, $p);
34
35 // creer #ENV*{$titre} (* pour les cas de tableau serialises par exemple, que l'on veut reutiliser)
36 $env_nom = Pile::creer_balise('ENV', array('param' => array($nom), 'etoile' => '*')); // #ENV*{nom}
37
38 // on modifie $p pour ajouter des arguments
39 // {nom=$nom, valeur=#ENV{$nom}, type_saisie=$type, fond=saisies/_base}
40 $p = Pile::creer_et_ajouter_argument_balise($p, 'nom', $nom);
41 $p = Pile::creer_et_ajouter_argument_balise($p, 'valeur', $env_nom);
42 $p = Pile::creer_et_ajouter_argument_balise($p, 'type_saisie', $type_saisie);
43 $p = Pile::creer_et_ajouter_argument_balise($p, 'fond', 'saisies-vues/_base');
44
45 // on appelle la balise #INCLURE
46 // avec les arguments ajoutes
47 if (function_exists('balise_INCLURE')) {
48 return balise_INCLURE($p);
49 } else {
50 return balise_INCLURE_dist($p);
51 }
52 }