From f1dee42a6e2819c0d9960bec79e014ff294f0df3 Mon Sep 17 00:00:00 2001 From: Xavier Guimard Date: Fri, 5 May 2017 06:50:38 +0000 Subject: [PATCH] Force to use an available language even if cookie is defined (#595) --- lemonldap-ng-portal/site/coffee/portal.coffee | 6 ++++-- lemonldap-ng-portal/site/htdocs/static/common/js/portal.js | 6 ++++-- .../site/htdocs/static/common/js/portal.min.js | 2 +- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/lemonldap-ng-portal/site/coffee/portal.coffee b/lemonldap-ng-portal/site/coffee/portal.coffee index 11eff319b..cc74b023c 100644 --- a/lemonldap-ng-portal/site/coffee/portal.coffee +++ b/lemonldap-ng-portal/site/coffee/portal.coffee @@ -223,9 +223,11 @@ $(document).ready -> langs.push al else if al.substring(0, 1) == nl.substring(0, 1) langs2.push al - lang = if langs[0] then langs[0] else if langs2[0] then langs2[0] else 'en' + lang = if langs[0] then langs[0] else if langs2[0] then langs2[0] else window.availableLanguages[0] else - lang = 'en' + lang = window.availableLanguages[0] + else if lang not in window.availableLanguages + lang = window.availableLanguages[0] setCookie 'llnglanguage', lang translatePage(lang) diff --git a/lemonldap-ng-portal/site/htdocs/static/common/js/portal.js b/lemonldap-ng-portal/site/htdocs/static/common/js/portal.js index 31ea6c0b0..95e57e156 100644 --- a/lemonldap-ng-portal/site/htdocs/static/common/js/portal.js +++ b/lemonldap-ng-portal/site/htdocs/static/common/js/portal.js @@ -237,10 +237,12 @@ LemonLDAP::NG Portal jQuery scripts } } } - lang = langs[0] ? langs[0] : langs2[0] ? langs2[0] : 'en'; + lang = langs[0] ? langs[0] : langs2[0] ? langs2[0] : window.availableLanguages[0]; } else { - lang = 'en'; + lang = window.availableLanguages[0]; } + } else if (indexOf.call(window.availableLanguages, lang) < 0) { + lang = window.availableLanguages[0]; } setCookie('llnglanguage', lang); translatePage(lang); diff --git a/lemonldap-ng-portal/site/htdocs/static/common/js/portal.min.js b/lemonldap-ng-portal/site/htdocs/static/common/js/portal.min.js index 0347f7ac1..2872b1d24 100644 --- a/lemonldap-ng-portal/site/htdocs/static/common/js/portal.min.js +++ b/lemonldap-ng-portal/site/htdocs/static/common/js/portal.min.js @@ -1 +1 @@ -(function(){var e,g,j,d,a,k,i,m,f,b,l,c,h=[].indexOf||function(p){for(var o=0,n=this.length;o=0){A=y[n];o=$(f+".ui-sortable").children("#"+A);u=$(f+".ui-sortable").children("#"+n);o.remove();$(f+".ui-sortable").filter(":first").append(u)}}return 1};a=function(n){return $("#lmhidden_"+n).length};k=function(){return $.ajax({type:"POST",url:e.scriptname,data:{ping:1},dataType:"json",success:function(n){if((n.result!=null)&&n.result===1){return setTimeout(k,e.pingInterval)}else{return location.reload(true)}},error:function(n,o,p){return location.reload(true)}})};window.ping=k;g=function(q){var t,o,r,n,p,s;p=q+"=";o=decodeURIComponent(document.cookie).split(";");s=new RegExp("^ *"+q+"=");for(r=0,n=o.length;r div.category",update:function(){return j()}});i();$("div.message").fadeIn("slow");$("input[name=timezone]").val(-(new Date().getTimezoneOffset()/60));q=$("#menu").tabs({active:0});A=$('#menu a[href="#'+e.displaytab+'"]').parent().index();if(A<0){A=0}q.tabs("option","active",A);F=$("#authMenu").tabs({active:0});if(e.choicetab){F.tabs("option","active",$('#authMenu a[href="#'+e.choicetab+'"]').parent().index())}if(e.login){$("input[type=password]:first").focus()}else{$("input[type!=hidden]:first").focus()}if(e.newwindow){$("#appslist a").attr("target","_blank")}if($("p.removeOther").length){E=$("form.login").attr("action");p=$("form.login").attr("method");C="";if(E.indexOf("?")!==-1){E.substring(0,E.indexOf("?"))+"?"}else{C=E+"?"}$("form.login input[type=hidden]").each(function(J){return C+="&"+$(this).attr("name")+"="+$(this).val()});s=$("p.removeOther a").attr("href")+"&method="+p+"&url="+btoa(C);$("p.removeOther a").attr("href",s)}I=g("llnglanguage");if(!I){if(navigator){x=[];w=[];n=[navigator.language];if(navigator.languages){n=navigator.languages}r=window.availableLanguages;for(G=0,H=r.length;G ';for(B=0,u=n.length;B '}$("#languages").html(y);$(".langicon").on("click",function(){I=$(this).attr("title");m("llnglanguage",I);return l(I)});if(e.pingInterval&&e.pingInterval>0){window.setTimeout(k,e.pingInterval)}return $(".localeDate").each(function(){var J;J=new Date($(this).attr("val")*1000);return $(this).text(J.toLocaleString())})})}).call(this); \ No newline at end of file +(function(){var e,g,j,d,a,k,i,m,f,b,l,c,h=[].indexOf||function(p){for(var o=0,n=this.length;o=0){A=y[n];o=$(f+".ui-sortable").children("#"+A);u=$(f+".ui-sortable").children("#"+n);o.remove();$(f+".ui-sortable").filter(":first").append(u)}}return 1};a=function(n){return $("#lmhidden_"+n).length};k=function(){return $.ajax({type:"POST",url:e.scriptname,data:{ping:1},dataType:"json",success:function(n){if((n.result!=null)&&n.result===1){return setTimeout(k,e.pingInterval)}else{return location.reload(true)}},error:function(n,o,p){return location.reload(true)}})};window.ping=k;g=function(q){var t,o,r,n,p,s;p=q+"=";o=decodeURIComponent(document.cookie).split(";");s=new RegExp("^ *"+q+"=");for(r=0,n=o.length;r div.category",update:function(){return j()}});i();$("div.message").fadeIn("slow");$("input[name=timezone]").val(-(new Date().getTimezoneOffset()/60));q=$("#menu").tabs({active:0});A=$('#menu a[href="#'+e.displaytab+'"]').parent().index();if(A<0){A=0}q.tabs("option","active",A);F=$("#authMenu").tabs({active:0});if(e.choicetab){F.tabs("option","active",$('#authMenu a[href="#'+e.choicetab+'"]').parent().index())}if(e.login){$("input[type=password]:first").focus()}else{$("input[type!=hidden]:first").focus()}if(e.newwindow){$("#appslist a").attr("target","_blank")}if($("p.removeOther").length){E=$("form.login").attr("action");p=$("form.login").attr("method");C="";if(E.indexOf("?")!==-1){E.substring(0,E.indexOf("?"))+"?"}else{C=E+"?"}$("form.login input[type=hidden]").each(function(J){return C+="&"+$(this).attr("name")+"="+$(this).val()});s=$("p.removeOther a").attr("href")+"&method="+p+"&url="+btoa(C);$("p.removeOther a").attr("href",s)}I=g("llnglanguage");if(!I){if(navigator){x=[];w=[];n=[navigator.language];if(navigator.languages){n=navigator.languages}r=window.availableLanguages;for(G=0,H=r.length;G ';for(B=0,u=n.length;B '}$("#languages").html(y);$(".langicon").on("click",function(){I=$(this).attr("title");m("llnglanguage",I);return l(I)});if(e.pingInterval&&e.pingInterval>0){window.setTimeout(k,e.pingInterval)}return $(".localeDate").each(function(){var J;J=new Date($(this).attr("val")*1000);return $(this).text(J.toLocaleString())})})}).call(this); \ No newline at end of file