<?php
-if (!defined("_ECRIRE_INC_VERSION")) return;
+if (!defined('_ECRIRE_INC_VERSION')) {
+ return;
+}
-function generer_multilang_init(){
+function generer_multilang_init() {
$data = '';
- if(count($langues = explode(',',$GLOBALS["meta"]["langues_multilingue"])) > 1){
+ if (count($langues = explode(',', $GLOBALS['meta']['langues_multilingue'])) > 1) {
include_spip('inc/config');
- $config = lire_config('multilang',array());
+ $config = lire_config('multilang', array());
$root = array();
- if(isset($config['multilang_public']))
+ if (isset($config['multilang_public'])) {
unset($config['multilang_public']);
- if(isset($config['multilang_crayons']))
+ }
+ if (isset($config['multilang_crayons'])) {
unset($config['multilang_crayons']);
- if(isset($config['siteconfig']) && $config['siteconfig']){
+ }
+ if (isset($config['siteconfig']) && $config['siteconfig']) {
$root[] = 'div#configurer-accueil,div.formulaire_configurer_identite' ; // Config Site
unset($config['siteconfig']);
}
-
- foreach($config as $conf => $val){
- if($val == 'on') {
- if($conf == 'document')
- $root[] = 'div#portfolio_portfolio,div#portfolio_documents,div#liste_documents,div.formulaire_editer_document' ;
- else
+
+ foreach ($config as $conf => $val) {
+ if ($val == 'on') {
+ if ($conf == 'document') {
+ $root[] = 'div#portfolio_portfolio,div#portfolio_documents,div#liste_documents,div.formulaire_editer_document';
+ } else {
$root[] .= 'div.formulaire_editer_'.$conf;
+ }
unset($config[$conf]);
}
}
// Appel de multilang_init_lang si
// - document.ready
// - onAjaxLoad (cas des docs et de la configuration du site)
- if(is_array($langues_config = lire_config('multilang/langues_utilisees','aucune')) && count($langues_config) > 0){
- $langues = implode(',',array_intersect($langues,$langues_config));
- }else{
- $langues = implode(',',$langues);
+ if (is_array($langues_config = lire_config('multilang/langues_utilisees', 'aucune')) && count($langues_config) > 0) {
+ $langues = array_intersect($langues, $langues_config);
+ }
+ $langues_ltr = array();
+ foreach ($langues as $langue) {
+ $langues_ltr[$langue] = lang_dir($langue);
}
$data = '
- var multilang_avail_langs = "'.$langues.'".split(\',\'),
- multilang_def_lang = "'.$GLOBALS["meta"]["langue_site"].'",
- multilang_lang_courante = "'.$GLOBALS["spip_lang"].'",
+ var multilang_avail_langs = "'.implode(',', $langues).'".split(\',\'),
+ multilang_dir_langs = '.json_encode($langues_ltr).',
+ multilang_def_lang = "'.$GLOBALS['meta']['langue_site'].'",
+ multilang_lang_courante = "'.$GLOBALS['spip_lang'].'",
multilang_dir_plugin = "'._DIR_PLUGIN_MULTILANG.'";
// On trie les langues. Langue de l environnement en premier,
jQuery(document).ready(function(){
function multilang_init(){
- var root = "'.implode(",",$root).'";
- var fields_selector = "textarea:not(textarea#adresses_secondaires,textarea#repetitions),input:text:not(input#new_login,input#email,#titreparent,input.date,input.heure,input#largeur,input#hauteur,.ac_input,#url_syndic,#url_auto,#champ_geocoder,#champ_lat,#champ_lon,#champ_zoom,#places,*.nomulti),.multilang";
+ var root = "'.implode(',', $root).'";
+ var fields_selector = "textarea:not(textarea#adresses_secondaires,textarea#repetitions),input:text:not(input#new_login,input#email,#titreparent,input.date,input.heure,input#largeur,input#hauteur,.ac_input,#url_syndic,#url_auto,.rechercher_adresse input,#champ_geocoder,#champ_lat,#champ_lon,#champ_zoom,#places,*.nomulti),.multilang";
// on exclue aussi les form d upload (Pour les vignettes de docs, logos...)
var forms_selector = "form[class!=\'form_upload\'][class!=\'form_upload_icon\']";
// Les div qui ont un formulaire de classe multilang (pour accélérer la recherche dans le DOM,
var root_opt = "form:has(.multilang)";
var fields_selector_opt = ".multilang";
multilang_init_lang({fields:fields_selector,fields_opt:fields_selector_opt,root:root,root_opt:root_opt,forms:forms_selector});
-
+
if($(".menu_multilang").length > 0){
$(".menu_multilang").each(function(){
var menu_lang = $(this);
$(window).scroll(function() {
- var offset = menu_lang.parents("form").offset();
- var limite_multilang = offset.top;
- var limite_bas = limite_multilang+menu_lang.parents("form").height()-menu_lang.parents("form").find(".boutons").height();
- var pos_bas = menu_lang.offset().top+menu_lang.height();
+ var offset = menu_lang.parents("form").offset(),
+ limite_multilang = offset.top;
+ limite_bas = limite_multilang+menu_lang.parents("form").height()-menu_lang.parents("form").find(".boutons").height(),
+ pos_bas = menu_lang.offset().top+menu_lang.height();
if(($(window).scrollTop() >= limite_multilang) && (pos_bas <= limite_bas) && ($(window).scrollTop() < limite_bas)){
- if(!menu_lang.hasClass("menu_lang_flottant"))
+ if(!menu_lang.hasClass("menu_lang_flottant")) {
menu_lang.addClass("menu_lang_flottant");
+ }
var menu_lang_width = menu_lang.width();
- menu_lang.css({"position": "fixed", "top": 0, "width": menu_lang_width+"px","z-index":"999"});
+ menu_lang.css({"position": "fixed", "top": 0, "width": menu_lang_width+"px","z-index":"1001"});
}
if(($(window).scrollTop() < limite_multilang)||(pos_bas > limite_bas) )
menu_lang.removeClass("menu_lang_flottant").css({"position": "static", "width": "auto"});
}
return $data;
}
-?>
\ No newline at end of file