el.multi = true;\r
multilang_match_multi.lastIndex=0;\r
el.field_lang['full'] = el.value;\r
- while((langs=multilang_match_multi.exec(m[2]))!=null) {\r
+ while((langs=multilang_match_multi.exec(m[2]))!=null && langs[0] != "") {\r
var text = langs[2].match(/^(\d+\.\s+)((?:.|\n|\s)*)/), value;\r
// Suppression du numero uniquement pour les titres\r
if(multilang_is_title(el) && text!=null) {\r
if(el.name.match(/^content_[a-z0-9_]+_titre/)){\r
if($(el).parent().is('li'))\r
$(el).parent()\r
- .before('<li class="editer_'+numid+'"><label for="titre_numero">'+multilang_lang.numero+'</label><input id="'+numid+'" name="titre_numero" type="text" value="'+el.field_pre_lang+'" size="4" class="text nomulti" /></li>');\r
+ .before('<li class="editer editer_'+numid+'"><label for="titre_numero">'+multilang_lang.numero+'</label><input id="'+numid+'" name="titre_numero" type="text" value="'+el.field_pre_lang+'" size="4" class="text nomulti" /></li>');\r
else\r
$(el)\r
- .before('<div class="editer_titre_numero"><label for="titre_numero">'+multilang_lang.numero+'</label><input id="'+numid+'" name="titre_numero" type="text" value="'+el.field_pre_lang+'" size="4" class="text nomulti" /><br /><br /></div>');\r
- }else\r
+ .before('<div class="editer editer_'+numid+'"><label for="titre_numero">'+multilang_lang.numero+'</label><input id="'+numid+'" name="titre_numero" type="text" value="'+el.field_pre_lang+'" size="4" class="text nomulti" /><br /><br /></div>');\r
+ }else{\r
+ /* Le formalisme des formulaires peut etre en li ou en div (SPIP 3.1) mais on a toujours un conteneur .editer */\r
+ var tag = 'div';\r
+ if($(el).parent().is('li')) {\r
+ tag = 'li';\r
+ }\r
$(el).parent()\r
- .before('<li class="editer_'+numid+'"><label for="titre_numero">'+multilang_lang.numero+'</label><input id="'+numid+'" name="titre_numero" type="text" value="'+el.field_pre_lang+'" size="4" class="text nomulti" /></li>');\r
+ .before('<'+tag+' class="editer editer_'+numid+'"><label for="titre_numero">'+multilang_lang.numero+'</label><input id="'+numid+'" name="titre_numero" type="text" value="'+el.field_pre_lang+'" size="4" class="text nomulti" /></'+tag+'>');\r
+ }\r
$('#'+numid).totreat = false;\r
}\r
}\r
\r
/**\r
* Action au changement de la langue\r
- * Lorsque l'on clique sur une le menu de langue\r
+ * Lorsque l'on clique sur le menu de langue\r
* On affiche pour le champ "el" son contenu dans la langue "lang"\r
*\r
* @param el Un champ du formulaire (input ou textarea)\r
el.value = (el.field_lang[lang] == undefined ? "" : el.field_lang[lang]);\r
\r
el.titre_el.html(el.value);\r
-\r
+ \r
multilang_field_set_background(el,lang);\r
}\r
\r
function multilang_field_set_background(el,lang) {\r
if(lang != 'full'){\r
if(el.totreat){\r
- $(el).removeAttr('readonly').removeClass('multilang_readonly');\r
+ $(el).removeAttr('readonly').removeClass('multilang_readonly').removeClass('multilang_ltr').removeClass('multilang_rtl');\r
if(typeof($(el).attr('class')) != 'undefined'){\r
$($(el).attr('class').split(' ')).each(function(){\r
var m = this.match(/^multi_lang_*/);\r
- if(m!=null)\r
- $(el).removeClass(m.input).addClass('multi_lang_'+lang);\r
+ if(m!=null) {\r
+ $(el).removeClass(m.input).removeClass('multilang_ltr').removeClass('multilang_rtl').addClass('multi_lang_'+lang).addClass('multi_lang_'+multilang_dir_langs[lang]).attr('dir',multilang_dir_langs[lang]);\r
+ }\r
});\r
}\r
- $(el).addClass('multi_lang_'+(el.multi?lang:'no_multi'));\r
+ $(el).addClass('multi_lang_'+(el.multi?lang:'no_multi')).addClass('multi_lang_'+multilang_dir_langs[lang]).attr('dir',multilang_dir_langs[lang]);\r
}\r
else{\r
if(typeof($(el).attr('class')) != 'undefined'){\r
$($(el).attr('class').split(' ')).each(function(){\r
var m = this.match(/^multi_lang_*/);\r
if(m!=null)\r
- $(el).removeClass(m.input);\r
+ $(el).removeClass(m.input).removeClass('multilang_ltr').removeClass('multilang_rtl');\r
});\r
}\r
- $(el).css({"background":"url("+multilang_dir_plugin+"/images/multi_forbidden.png) no-repeat right top"});\r
+ align = multilang_dir_langs[lang] ? (multilang_dir_langs[lang] == 'ltr' ? 'right' : 'left') : 'right';\r
+ $(el).css({"background":"url("+multilang_dir_plugin+"/images/multi_forbidden.png) no-repeat "+align+" top"});\r
}\r
}else{\r
- $(el).attr('readonly','readonly').addClass('multilang_readonly');\r
+ $(el).attr('readonly','readonly').addClass('multilang_readonly').attr('dir','');\r
if(typeof($(el).attr('class')) != 'undefined'){\r
$($(el).attr('class').split(' ')).each(function(){\r
var m = this.match(/^multi_lang_*/);\r
if(m!=null)\r
- $(el).removeClass(m.input);\r
+ $(el).removeClass(m.input).removeClass('multilang_ltr').removeClass('multilang_rtl');\r
});\r
}\r
}\r