[SPIP] +2.1.12
[velocampus/web/www.git] / www / plugins / auto / Menu_langue_lien / Menu_langue_lien / balise / menu_lang.php
diff --git a/www/plugins/auto/Menu_langue_lien/Menu_langue_lien/balise/menu_lang.php b/www/plugins/auto/Menu_langue_lien/Menu_langue_lien/balise/menu_lang.php
new file mode 100644 (file)
index 0000000..804f3d6
--- /dev/null
@@ -0,0 +1,69 @@
+<?php
+
+if (!defined("_ECRIRE_INC_VERSION")) return;   #securite
+
+// #MENU_LANG affiche le menu des langues de l'espace public
+// et preselectionne celle la globale $lang
+// ou de l'argument fourni: #MENU_LANG{#ENV{malangue}} 
+
+// http://doc.spip.org/@balise_MENU_LANG
+function balise_MENU_LANG ($p) {
+       $i_boucle = $p->nom_boucle ? $p->nom_boucle : ($p->id_boucle ? $p->id_boucle :'');
+       if($i_boucle){
+       $_id_objet = $p->boucles[$i_boucle]->primary;
+       }
+       
+       return calculer_balise_dynamique(
+               $p,
+               'MENU_LANG',
+               array(
+                       'LANG_TYPE_BOUCLE', // demande du type d'objet
+                       $_id_objet
+               )
+       );
+}
+
+// s'il n'y a qu'une langue eviter definitivement la balise ?php 
+// http://doc.spip.org/@balise_MENU_LANG_stat
+function balise_MENU_LANG_stat ($args, $context_compil) {
+       if (strpos($GLOBALS['meta']['langues_multilingue'],',') === false) return '';
+       $objet = $args[0];
+       $id_objet = $args[1];
+       if ($objet == 'balise_hors_boucle') {
+               $objet = '';
+               $id_objet = '';
+               $id_table_objet ='';
+       }else{
+               $objet = table_objet($objet);
+               $id_table_objet = id_table_objet($objet);
+       }
+       return array($objet, $id_objet,$id_table_objet);
+}
+
+// normalement $opt sera toujours non vide suite au test ci-dessus
+// http://doc.spip.org/@balise_MENU_LANG_dyn
+function balise_MENU_LANG_dyn($objet,$id_objet,$id_table_objet) {
+       include_spip('inc/lang');
+       # lien a partir de /
+       $cible = parametre_url(self(), 'lang' , '', '&');
+       $post = generer_url_action('converser', 'redirect='. rawurlencode($cible), '&');
+
+       return array('formulaires/menu_lang',
+               3600,
+               array('nom' => $nom,
+                       'lang' => $GLOBALS['spip_lang'],
+                       'url' => $post,
+                       $id_table_objet => $id_objet
+               )
+       );
+}
+
+// balise type_boucle de Rastapopoulos dans le plugin etiquettes
+// present aussi dans plugin ajaxforms...
+// bref, a integrer dans le core ? :p
+function balise_LANG_TYPE_BOUCLE($p) {
+       $type = $p->boucles[$p->id_boucle]->id_table;
+       $p->code = $type ? $type : "balise_hors_boucle";
+       return $p;
+}
+?>
\ No newline at end of file