c61015e00418fc4fd697cc60c7c7de4918a5c41d
[lhc/web/www.git] / www / ecrire / balise / menu_lang.php
1 <?php
2
3 /***************************************************************************\
4 * SPIP, Systeme de publication pour l'internet *
5 * *
6 * Copyright (c) 2001-2017 *
7 * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
8 * *
9 * Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
10 * Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. *
11 \***************************************************************************/
12
13 /**
14 * Ce fichier gère la balise dynamique `#MENU_LANG`
15 *
16 * @package SPIP\Core\Compilateur\Balises
17 **/
18
19 if (!defined('_ECRIRE_INC_VERSION')) {
20 return;
21 }
22
23 /**
24 * Compile la balise dynamique `#MENU_LANG` qui affiche
25 * un sélecteur de langue pour l'espace public
26 *
27 * Affiche le menu des langues de l'espace public
28 * et présélectionne celle la globale `$lang`
29 * ou de l'arguemnt fourni: `#MENU_LANG{#ENV{malangue}}`
30 *
31 * @balise
32 * @link http://www.spip.net/4626
33 *
34 * @param Champ $p
35 * Pile au niveau de la balise
36 * @return Champ
37 * Pile complétée du code compilé
38 **/
39 function balise_MENU_LANG($p) {
40 return calculer_balise_dynamique($p, 'MENU_LANG', array('lang'));
41 }
42
43 /**
44 * Calculs de paramètres de contexte automatiques pour la balise MENU_LANG
45 *
46 * S'il n'y a qu'une langue proposée, pas besoin du formulaire
47 * (éviter une balise ?php inutile)
48 *
49 * @param array $args
50 * Liste des arguments demandés obtenus du contexte (lang)
51 * complétés de ceux fournis à la balise
52 * @param array $context_compil
53 * Tableau d'informations sur la compilation
54 * @return array
55 * Liste (lang) des arguments collectés et fournis.
56 */
57 function balise_MENU_LANG_stat($args, $context_compil) {
58 if (strpos($GLOBALS['meta']['langues_multilingue'], ',') === false) {
59 return '';
60 }
61
62 return $args;
63 }
64
65 /**
66 * Exécution de la balise dynamique `#MENU_LANG`
67 *
68 * @uses menu_lang_pour_tous()
69 * @note
70 * Normalement `$opt` sera toujours non vide suite au test ci-dessus
71 *
72 * @param string $opt
73 * Langue par défaut
74 * @return array
75 * Liste : Chemin du squelette, durée du cache, contexte
76 **/
77 function balise_MENU_LANG_dyn($opt) {
78 include_spip('balise/menu_lang_ecrire');
79
80 return menu_lang_pour_tous('var_lang', $opt);
81 }