From 8abd9ce94d2953b2200143ecb742a38d14cd1dc1 Mon Sep 17 00:00:00 2001 From: Geoff Montel Date: Tue, 9 Jul 2019 17:45:23 +0200 Subject: [PATCH 01/29] Adding new theme Unsplash forek from "Clouds" Background change over each photos Selection of "Nature" performed on Unsplash API Kept white font for SSO main element Remaining problems: photos color may lead to unreadable labels. Fix me! --- portal/assets/themes/unsplash/cloud.png | Bin 0 -> 25519 bytes .../assets/themes/unsplash/custom_overlay.css | 17 ++++++ .../assets/themes/unsplash/custom_portal.css | 57 ++++++++++++++++++ .../assets/themes/unsplash/custom_portal.js | 33 ++++++++++ 4 files changed, 107 insertions(+) create mode 100644 portal/assets/themes/unsplash/cloud.png create mode 100644 portal/assets/themes/unsplash/custom_overlay.css create mode 100644 portal/assets/themes/unsplash/custom_portal.css create mode 100644 portal/assets/themes/unsplash/custom_portal.js diff --git a/portal/assets/themes/unsplash/cloud.png b/portal/assets/themes/unsplash/cloud.png new file mode 100644 index 0000000000000000000000000000000000000000..ad3ea55df39c9a2a3233abcb22015df03b84724c GIT binary patch literal 25519 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 UX6K*a9cqBSwxL$}Et`n{0|?$M9smFU literal 0 HcmV?d00001 diff --git a/portal/assets/themes/unsplash/custom_overlay.css b/portal/assets/themes/unsplash/custom_overlay.css new file mode 100644 index 0000000..7f1a000 --- /dev/null +++ b/portal/assets/themes/unsplash/custom_overlay.css @@ -0,0 +1,17 @@ +/* +=============================================================================== + This file may contain extra CSS rules loaded on all apps page (*if* the app + nginx's conf does include the appropriate snippet) for the small YunoHost + button in bottom-right corner + portal overlay. + + The yunohost button corresponds to : #ynh-overlay-switch + The yunohost portal overlay / iframe corresponds to : #ynh-overlay + + BE CAREFUL that you should *not* add too-general rules that apply to + non-yunohost elements (for instance all 'a' or 'p' elements...) as it will + likely break app's rendering +=============================================================================== +*/ +#ynh-overlay-switch { + background-image: url("./cloud.png"); +} diff --git a/portal/assets/themes/unsplash/custom_portal.css b/portal/assets/themes/unsplash/custom_portal.css new file mode 100644 index 0000000..642f360 --- /dev/null +++ b/portal/assets/themes/unsplash/custom_portal.css @@ -0,0 +1,57 @@ +/* +=============================================================================== + This file contain extra CSS rules to customize the YunoHost user portal and + can be used to customize app tiles, buttons, etc... +=============================================================================== +*/ + +/* Make page texts black */ +.user-container h2, +.user-container small, +.user-container .user-mail, +.user-container .user-mail, +.content .footer a, +a.app-tile, +#ynh-logout { + color: black !important; +} + +.ynh-user-portal { + background-image: url('https://source.unsplash.com/random/featured/?nature') !important; + background-repeat: no-repeat; + background-size: cover; + width: 100%; + height: 100%; +} + +/* Apps colors */ +.app-tile { + background-color: rgba(255, 255, 255, 0.5) !important; +} + +.app-tile:hover:after, +.app-tile:focus:after, +.app-tile:hover:before, +.app-tile:focus:before { + background: rgba(255, 255, 255, 0.5) !important; +} + +/* Use a custom logo image */ +#ynh-logo { + z-index: 10; + background-image: url("./cloud.png"); +} + +/* Round the form */ +.login-form label:before { + border-top-left-radius: 5em ; + border-bottom-left-radius: 5em ; +} + +.login-form * { + border-radius: 5em; +} + +.messages { + border-radius: .5em; +} diff --git a/portal/assets/themes/unsplash/custom_portal.js b/portal/assets/themes/unsplash/custom_portal.js new file mode 100644 index 0000000..80c27bd --- /dev/null +++ b/portal/assets/themes/unsplash/custom_portal.js @@ -0,0 +1,33 @@ +/* +=============================================================================== + This JS file may be used to customize the YunoHost user portal *and* also + will be loaded in all app pages if the app nginx's conf does include the + appropriate snippet. + + You can monkeypatch init_portal (loading of the user portal) and + init_portal_button_and_overlay (loading of the button and overlay...) to do + custom stuff +=============================================================================== +*/ + +/* + * Monkeypatch init_portal to customize the app tile style + * +init_portal_original = init_portal; +init_portal = function() +{ + init_portal_original(); + // Some stuff here +} +*/ + +/* + * Monkey patching example to do custom stuff when loading inside an app + * +init_portal_button_and_overlay_original = init_portal_button_and_overlay; +init_portal_button_and_overlay = function() +{ + init_portal_button_and_overlay_original(); + // Custom stuff to do when loading inside an app +} +*/ From c4ec12116ab25ef47decf954d0d951c1e906207a Mon Sep 17 00:00:00 2001 From: Geoff Montel Date: Tue, 9 Jul 2019 18:35:20 +0200 Subject: [PATCH 02/29] Adding shadowing for white images. Thanks to Psycojoker comment. Tested Responsive + Chrome latest & Firefox --- portal/assets/themes/unsplash/custom_portal.css | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/portal/assets/themes/unsplash/custom_portal.css b/portal/assets/themes/unsplash/custom_portal.css index 642f360..331714a 100644 --- a/portal/assets/themes/unsplash/custom_portal.css +++ b/portal/assets/themes/unsplash/custom_portal.css @@ -5,7 +5,7 @@ =============================================================================== */ -/* Make page texts black */ +/* Make page texts white */ .user-container h2, .user-container small, .user-container .user-mail, @@ -13,7 +13,12 @@ .content .footer a, a.app-tile, #ynh-logout { - color: black !important; + color: white !important; +} + +body { + color: white !important; + text-shadow: 3px 4px 4px rgba(0,0,0,.4), -1px -1px 6px rgba(0,0,0,0.2); } .ynh-user-portal { From 5428b7fd4b47c224631413cff9d3e9fa3d9b33b9 Mon Sep 17 00:00:00 2001 From: Geoff Montel Date: Tue, 9 Jul 2019 18:49:57 +0200 Subject: [PATCH 03/29] Unsplash theme: Adding doc + delete unnecessary JS file. --- .../assets/themes/unsplash/custom_portal.css | 7 ++-- .../assets/themes/unsplash/custom_portal.js | 33 ------------------- 2 files changed, 5 insertions(+), 35 deletions(-) delete mode 100644 portal/assets/themes/unsplash/custom_portal.js diff --git a/portal/assets/themes/unsplash/custom_portal.css b/portal/assets/themes/unsplash/custom_portal.css index 331714a..3a02d9d 100644 --- a/portal/assets/themes/unsplash/custom_portal.css +++ b/portal/assets/themes/unsplash/custom_portal.css @@ -1,7 +1,9 @@ /* =============================================================================== - This file contain extra CSS rules to customize the YunoHost user portal and - can be used to customize app tiles, buttons, etc... + Unsplash themes for SSOWat's backgrounds + + WARNING: external images are queried from Unsplash API every time, which + makes this theme not suitable for off-the-internet clients... =============================================================================== */ @@ -22,6 +24,7 @@ body { } .ynh-user-portal { + /* If image is not yielded, fall back on traditional grey 'normal' background*/ background-image: url('https://source.unsplash.com/random/featured/?nature') !important; background-repeat: no-repeat; background-size: cover; diff --git a/portal/assets/themes/unsplash/custom_portal.js b/portal/assets/themes/unsplash/custom_portal.js deleted file mode 100644 index 80c27bd..0000000 --- a/portal/assets/themes/unsplash/custom_portal.js +++ /dev/null @@ -1,33 +0,0 @@ -/* -=============================================================================== - This JS file may be used to customize the YunoHost user portal *and* also - will be loaded in all app pages if the app nginx's conf does include the - appropriate snippet. - - You can monkeypatch init_portal (loading of the user portal) and - init_portal_button_and_overlay (loading of the button and overlay...) to do - custom stuff -=============================================================================== -*/ - -/* - * Monkeypatch init_portal to customize the app tile style - * -init_portal_original = init_portal; -init_portal = function() -{ - init_portal_original(); - // Some stuff here -} -*/ - -/* - * Monkey patching example to do custom stuff when loading inside an app - * -init_portal_button_and_overlay_original = init_portal_button_and_overlay; -init_portal_button_and_overlay = function() -{ - init_portal_button_and_overlay_original(); - // Custom stuff to do when loading inside an app -} -*/ From 3a3d0e95daa0a2caff1388e0371499d13962c79c Mon Sep 17 00:00:00 2001 From: Geoff Montel Date: Tue, 9 Jul 2019 22:54:01 +0200 Subject: [PATCH 04/29] Adding black form styling. --- .../assets/themes/unsplash/custom_portal.css | 23 +++++++++++++++---- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/portal/assets/themes/unsplash/custom_portal.css b/portal/assets/themes/unsplash/custom_portal.css index 3a02d9d..00d82a8 100644 --- a/portal/assets/themes/unsplash/custom_portal.css +++ b/portal/assets/themes/unsplash/custom_portal.css @@ -1,9 +1,7 @@ /* =============================================================================== - Unsplash themes for SSOWat's backgrounds - - WARNING: external images are queried from Unsplash API every time, which - makes this theme not suitable for off-the-internet clients... + This file contain extra CSS rules to customize the YunoHost user portal and + can be used to customize app tiles, buttons, etc... =============================================================================== */ @@ -24,7 +22,6 @@ body { } .ynh-user-portal { - /* If image is not yielded, fall back on traditional grey 'normal' background*/ background-image: url('https://source.unsplash.com/random/featured/?nature') !important; background-repeat: no-repeat; background-size: cover; @@ -60,6 +57,22 @@ body { border-radius: 5em; } +/* Make form black */ + +.login-form label::before { + background: #000; + color: #FFF; +} + +.login-form .form-group * { + background: #000; + color: #FFF; +} + +.icon { + background: #000; +} + .messages { border-radius: .5em; } From bf74cc12a51ba13e843582816e5028bbb4be7f03 Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 11 May 2021 23:23:50 +0400 Subject: [PATCH 05/29] [Fix] Yunohost Overlay - Appear/Desappear bug --- portal/assets/js/ynh_portal.js | 1 + 1 file changed, 1 insertion(+) diff --git a/portal/assets/js/ynh_portal.js b/portal/assets/js/ynh_portal.js index 84453c6..806f809 100644 --- a/portal/assets/js/ynh_portal.js +++ b/portal/assets/js/ynh_portal.js @@ -266,6 +266,7 @@ function init_portal_button_and_overlay() portalOverlay.src = "/yunohost/sso/portal.html"; portalOverlay.setAttribute("id","ynh-overlay"); portalOverlay.setAttribute("style","visibility: hidden;"); // make sure the overlay is invisible already when loading it + portalOverlay.setAttribute("class","ynh-fadeOut"); // set overlay as masked when loading it document.body.insertBefore(portalOverlay, null); // Inject portal button From 3cac2c4ee5e949fbe57e85c2f08663574c84b29e Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 12 May 2021 02:50:49 +0400 Subject: [PATCH 06/29] Fixing overlay causes scrolling freezes on iOS --- portal/assets/css/ynh_overlay.css | 11 +++++++---- portal/assets/js/ynh_portal.js | 31 +++++++++++++++++++++++++++++-- 2 files changed, 36 insertions(+), 6 deletions(-) diff --git a/portal/assets/css/ynh_overlay.css b/portal/assets/css/ynh_overlay.css index ab4fc50..1604004 100644 --- a/portal/assets/css/ynh_overlay.css +++ b/portal/assets/css/ynh_overlay.css @@ -20,9 +20,12 @@ html.ynh-panel-active { /* Disable any scrolling on app */ overflow: hidden; + } -body {/*overflow-y: scroll;*/} +body { + overflow-y: auto; +} #ynh-overlay-switch, #ynh-overlay-switch *, @@ -70,14 +73,14 @@ body {/*overflow-y: scroll;*/} /* Background */ #ynh-overlay { - visibility: hidden; + overflow-y: hidden; position: fixed; top:0; left: 0; width: 100%; height: 100%; z-index: 9999999; - display: block; + display: none; border: none; color:#fff; background: #41444F; @@ -176,4 +179,4 @@ body {/*overflow-y: scroll;*/} width: 80px; height: 75px; } -} +} \ No newline at end of file diff --git a/portal/assets/js/ynh_portal.js b/portal/assets/js/ynh_portal.js index 806f809..89e895d 100644 --- a/portal/assets/js/ynh_portal.js +++ b/portal/assets/js/ynh_portal.js @@ -265,8 +265,8 @@ function init_portal_button_and_overlay() var portalOverlay = document.createElement('iframe'); portalOverlay.src = "/yunohost/sso/portal.html"; portalOverlay.setAttribute("id","ynh-overlay"); - portalOverlay.setAttribute("style","visibility: hidden;"); // make sure the overlay is invisible already when loading it - portalOverlay.setAttribute("class","ynh-fadeOut"); // set overlay as masked when loading it + portalOverlay.setAttribute("style","display: none;"); // make sure the overlay is invisible already when loading it + // portalOverlay.setAttribute("class","ynh-fadeOut"); // set overlay as masked when loading it document.body.insertBefore(portalOverlay, null); // Inject portal button @@ -287,10 +287,12 @@ function init_portal_button_and_overlay() Element.toggleClass(portalOverlay, 'ynh-active'); if (Element.hasClass(portalOverlay, 'ynh-active')) { + portalOverlay.setAttribute("style","display: block;"); meta_viewport.setAttribute('content', meta_viewport_content); Element.addClass(portalOverlay, 'ynh-fadeIn'); Element.removeClass(portalOverlay, 'ynh-fadeOut'); } else { + portalOverlay.setAttribute("style","display: none;"); meta_viewport.setAttribute('content', "width=device-width"); Element.removeClass(portalOverlay, 'ynh-fadeIn'); Element.addClass(portalOverlay, 'ynh-fadeOut'); @@ -342,6 +344,7 @@ function init_portal() }); } + function tweak_portal_when_in_iframe() { // Set class to body to show we're in overlay @@ -371,3 +374,27 @@ function tweak_portal_when_in_iframe() }); } } + +var lastY = 0; // Needed in order to determine direction of scroll. +$(".scroll-container").on('touchstart', function(event) { + lastY = event.touches[0].clientY; +}); + +$('.scroller').on('touchmove', function(event) { + var top = event.touches[0].clientY; + + // Determine scroll position and direction. + var scrollTop = $(event.currentTarget).scrollTop(); + var direction = (lastY - top) < 0 ? "up" : "down"; + + // FIX IT! + if (scrollTop == 0 && direction == "up") { + // Prevent scrolling up when already at top as this introduces a freeze. + event.preventDefault(); + } else if (scrollTop >= (event.currentTarget.scrollHeight - event.currentTarget.outerHeight()) && direction == "down") { + // Prevent scrolling down when already at bottom as this also introduces a freeze. + event.preventDefault(); + } + + lastY = top; +}); \ No newline at end of file From 38d87adbc0795498eee3bcbf1450f61a0d80a4ee Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 12 May 2021 02:54:32 +0400 Subject: [PATCH 07/29] Deleting somes unused parts from last commit --- portal/assets/js/ynh_portal.js | 26 +------------------------- 1 file changed, 1 insertion(+), 25 deletions(-) diff --git a/portal/assets/js/ynh_portal.js b/portal/assets/js/ynh_portal.js index 89e895d..3a79a21 100644 --- a/portal/assets/js/ynh_portal.js +++ b/portal/assets/js/ynh_portal.js @@ -373,28 +373,4 @@ function tweak_portal_when_in_iframe() window.parent.location.href = logoutButton.getAttribute("href"); }); } -} - -var lastY = 0; // Needed in order to determine direction of scroll. -$(".scroll-container").on('touchstart', function(event) { - lastY = event.touches[0].clientY; -}); - -$('.scroller').on('touchmove', function(event) { - var top = event.touches[0].clientY; - - // Determine scroll position and direction. - var scrollTop = $(event.currentTarget).scrollTop(); - var direction = (lastY - top) < 0 ? "up" : "down"; - - // FIX IT! - if (scrollTop == 0 && direction == "up") { - // Prevent scrolling up when already at top as this introduces a freeze. - event.preventDefault(); - } else if (scrollTop >= (event.currentTarget.scrollHeight - event.currentTarget.outerHeight()) && direction == "down") { - // Prevent scrolling down when already at bottom as this also introduces a freeze. - event.preventDefault(); - } - - lastY = top; -}); \ No newline at end of file +} \ No newline at end of file From 7718f424d26fe633fa3b75751736cf69e1ce427c Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 12 May 2021 13:51:54 +0400 Subject: [PATCH 08/29] [Enh] Added overlay positions saving accross navigation --- portal/assets/js/ynh_portal.js | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/portal/assets/js/ynh_portal.js b/portal/assets/js/ynh_portal.js index 84453c6..59000d8 100644 --- a/portal/assets/js/ynh_portal.js +++ b/portal/assets/js/ynh_portal.js @@ -18,6 +18,23 @@ if (typeof(console) === 'undefined') { console.log = console.error = console.info = console.debug = console.warn = console.trace = console.dir = console.dirxml = console.group = console.groupEnd = console.time = console.timeEnd = console.assert = console.profile = function() {}; } +/* Cookies utilities */ +function setCookie(cName, cValue, expDays) { + let date = new Date(); + date.setTime(date.getTime() + (expDays * 24 * 60 * 60 * 1000)); + const expires = "expires=" + date.toUTCString(); + document.cookie = cName + "=" + cValue + "; " + expires + "; path=/"; +} +function getCookie(cName) { + const name = cName + "="; + const cDecoded = decodeURIComponent(document.cookie); //to be careful + const cArr = cDecoded .split('; '); + let res; + cArr.forEach(val => { + if (val.indexOf(name) === 0) res = val.substring(name.length); + }) + return res; +} /* Array utilities https://github.com/Darklg/JavaScriptUtilities/blob/master/assets/js/vanilla-js/libs/vanilla-arrays.js @@ -179,6 +196,9 @@ function make_element_draggable(id) { dragged = true; selected.style.left = (x_pos - x_elem) + 'px'; selected.style.top = (y_pos - y_elem) + 'px'; + // Store positions in cookies + setCookie('ynh_overlay_top', selected.style.top, 30); + setCookie('ynh_overlay_left', selected.style.left, 30); } }; @@ -273,6 +293,11 @@ function init_portal_button_and_overlay() portalButton.setAttribute('id', 'ynh-overlay-switch'); portalButton.setAttribute('href', '/yunohost/sso/'); portalButton.setAttribute('class', 'disableAjax'); + // Checks if cookies exist and apply positioning + if (getCookie('ynh_overlay_top') != null && getCookie('ynh_overlay_left') != null) { + portalButton.style.top = getCookie('ynh_overlay_top'); + portalButton.style.left = getCookie('ynh_overlay_left'); + } document.body.insertBefore(portalButton, null); // Make portal button draggable, for user convenience make_element_draggable('ynh-overlay-switch'); From c34d9fd74d705c3d6a1c5aee9def545365cb58db Mon Sep 17 00:00:00 2001 From: ljf Date: Thu, 29 Jul 2021 16:34:56 +0200 Subject: [PATCH 09/29] [fix] Not enough random file name --- helpers.lua | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/helpers.lua b/helpers.lua index 0b89466..0ae6d33 100644 --- a/helpers.lua +++ b/helpers.lua @@ -713,8 +713,7 @@ end -- Read result of a command after given it securely the password function secure_cmd_password(cmd, password, start) -- Check password validity - math.randomseed( os.time() ) - local tmp_file = "/tmp/ssowat_"..math.random() + local tmp_file = os.tmpname() local w_pwd = io.popen("("..cmd..") | tee -a "..tmp_file, 'w') w_pwd:write(password) -- This second write is just to validate the password question From cc11adafa5064b306bd4f1dec7481b9adb543a98 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20M?= Date: Wed, 9 Jun 2021 02:47:54 +0000 Subject: [PATCH 10/29] Translated using Weblate (Galician) Currently translated at 100.0% (47 of 47 strings) Translation: YunoHost/SSOwat Translate-URL: https://translate.yunohost.org/projects/yunohost/ssowat/gl/ --- portal/locales/gl.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/portal/locales/gl.json b/portal/locales/gl.json index 7c99c30..9dce5ce 100644 --- a/portal/locales/gl.json +++ b/portal/locales/gl.json @@ -27,7 +27,7 @@ "password_changed_error": "Non se cambiou o contrasinal", "password_changed": "Contrasinal cambiado", "logout": "Pechar sesión", - "login": "Conéctate", + "login": "Conectar", "confirm": "Confirmar", "new_password": "Novo contrasinal", "current_password": "Contrasinal actual", From 4126e09385411cb70c88d26dacd9d6394dc0bdc1 Mon Sep 17 00:00:00 2001 From: Flavio Cristoforetti Date: Wed, 9 Jun 2021 14:59:23 +0000 Subject: [PATCH 11/29] Translated using Weblate (Italian) Currently translated at 100.0% (47 of 47 strings) Translation: YunoHost/SSOwat Translate-URL: https://translate.yunohost.org/projects/yunohost/ssowat/it/ --- portal/locales/it.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/portal/locales/it.json b/portal/locales/it.json index 2e32263..f5c5d2b 100644 --- a/portal/locales/it.json +++ b/portal/locales/it.json @@ -17,8 +17,8 @@ "invalid_mail": "Indirizzo email non valido", "invalid_mailforward": "Indirizzo di inoltro e-mail non valido", "logged_out": "Disconnesso", - "login": "Accesso", - "logout": "Disconnettersi", + "login": "Accedi", + "logout": "Disconnettiti", "mail_addresses": "Indirizzi email", "mail_already_used": "Indirizzo email già in uso", "mail_forward": "Indirizzo di inoltro e-mail", From 4fd99467e8028e9bed949f074eedeb6b99c8f298 Mon Sep 17 00:00:00 2001 From: amirale qt Date: Fri, 18 Jun 2021 09:14:11 +0000 Subject: [PATCH 12/29] Translated using Weblate (Esperanto) Currently translated at 100.0% (47 of 47 strings) Translation: YunoHost/SSOwat Translate-URL: https://translate.yunohost.org/projects/yunohost/ssowat/eo/ --- portal/locales/eo.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/portal/locales/eo.json b/portal/locales/eo.json index fc4c0ba..03b53f3 100644 --- a/portal/locales/eo.json +++ b/portal/locales/eo.json @@ -13,7 +13,7 @@ "portal": "Yunohost portalo", "fullname": "Plena nomo", "new_mail": "nova-adreso@mia-domajno.org", - "confirm": "Konfirmi", + "confirm": "Konfirmu", "password_changed": "Pasvorto ŝanĝita", "password_changed_error": "Ne povis ŝanĝi pasvorton", "password_not_match": "La pasvortoj ne kongruas", @@ -35,12 +35,12 @@ "invalid_domain": "Nevalida domajno en", "invalid_mail": "Nevalida retpoŝta adreso", "wrong_current_password": "Aktuala pasvorto estas malĝusta", - "good_practices_about_user_password": "Elektu uzanton pasvorton de almenaŭ 8 signoj - kvankam estas bone praktiki uzi pli longajn (t.e. pasfrazon) kaj / aŭ uzi diversajn specojn de signoj (majuskloj, minuskloj, ciferoj kaj specialaj signoj).", - "password_too_simple_4": "Pasvorto bezonas almenaŭ 12 signojn kaj enhavas ciferojn, majusklojn, minusklojn kaj specialajn signojn", - "password_too_simple_3": "Pasvorto bezonas almenaŭ 8 signojn kaj enhavas ciferojn, majusklojn, minusklojn kaj specialajn signojn", - "password_too_simple_2": "Pasvorto bezonas almenaŭ 8 signojn kaj enhavas ciferojn, majusklojn kaj minusklojn", + "good_practices_about_user_password": "Elektu uzantan pasvorton de almenaŭ 8 signoj - kvankam ĝi estas bona praktiko uzi pli longajn (I.E. Pasfraso) kaj / aŭ uzas diversajn specojn de karakteroj (majusklaj, minusklaj, ciferoj kaj specialaj signoj).", + "password_too_simple_4": "La pasvorto devas havi almenaŭ 12 signojn kaj enhavas ciferojn, suprajn, pli malaltajn kaj specialajn signojn", + "password_too_simple_3": "La pasvorto devas havi almenaŭ 8 signojn kaj enhavas ciferojn, suprajn, pli malaltajn kaj specialajn signojn", + "password_too_simple_2": "La pasvorto devas havi almenaŭ 8 signojn kaj enhavas ciferojn, suprajn kaj pli malaltajn signojn", "password_too_simple_1": "Pasvorto devas esti almenaŭ 8 signojn longa", - "password_listed": "Ĉi tiu pasvorto estas inter la plej uzataj pasvortoj en la mondo. Bonvolu elekti ion iom pli unikan.", + "password_listed": "Ĉi tiu pasvorto estas inter la plej uzataj pasvortoj en la mondo. Bonvolu elekti ion pli unikan.", "ok": "bone", "add_forward": "Aldonu poŝton antaŭen", "add_mail": "Aldonu poŝton alias", From 5f6877d84bde1b026bb5941bf35f46da38c3f14d Mon Sep 17 00:00:00 2001 From: Mico Hauataluoma Date: Mon, 28 Jun 2021 19:53:34 +0000 Subject: [PATCH 13/29] Translated using Weblate (Finnish) Currently translated at 2.1% (1 of 47 strings) Translation: YunoHost/SSOwat Translate-URL: https://translate.yunohost.org/projects/yunohost/ssowat/fi/ --- portal/locales/fi.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/portal/locales/fi.json b/portal/locales/fi.json index 0967ef4..9a24d71 100644 --- a/portal/locales/fi.json +++ b/portal/locales/fi.json @@ -1 +1,3 @@ -{} +{ + "cancel": "Peruuta" +} From fabbc8d8138e06b73e4cfb0e14ef631424b99652 Mon Sep 17 00:00:00 2001 From: Christian Wehrli Date: Tue, 29 Jun 2021 21:33:52 +0000 Subject: [PATCH 14/29] Translated using Weblate (German) Currently translated at 100.0% (47 of 47 strings) Translation: YunoHost/SSOwat Translate-URL: https://translate.yunohost.org/projects/yunohost/ssowat/de/ --- portal/locales/de.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/portal/locales/de.json b/portal/locales/de.json index d1b0433..bd921e3 100644 --- a/portal/locales/de.json +++ b/portal/locales/de.json @@ -43,7 +43,7 @@ "good_practices_about_user_password": "Wählen Sie ein Benutzerpasswort mit mindestens 8 Zeichen. Das Passwort sollte mindestens 8 Zeichen lang sein - es ist jedoch empfehlenswert, ein längeres Passwort (z.B. eine Passphrase) und/oder verschiedene Arten von Zeichen (Groß- und Kleinschreibung, Ziffern und Sonderzeichen) zu verwenden.", "password_too_simple_3": "Das Passwort muss mindestens 8 Zeichen lang sein und Grossbuchstaben, Kleinbuchstaben, Zahlen und Sonderzeichen enthalten", "password_too_simple_2": "Das Passwort muss mindestens 8 Zeichen lang sein und Grossbuchstaben, Kleinbuchstaben und Zahlen enthalten", - "password_listed": "Dieses Passwort zählt zu den meistgenutzten Passwort der Welt . Bitte wählen Sie ein anderes einzigartigeres Passwort.", + "password_listed": "Dieses Passwort zählt zu den meistgenutzten Passwörtern der Welt. Bitte wählen Sie ein anderes, einzigartigeres Passwort.", "password_too_simple_4": "Das Passwort muss mindestens 12 Zeichen lang sein und Grossbuchstaben, Kleinbuchstaben, Zahlen und Sonderzeichen enthalten", "password_too_simple_1": "Das Passwort muss mindestens 8 Zeichen lang sein" } From d933788f33526b31fdd58ed94dd698c9350ef0cf Mon Sep 17 00:00:00 2001 From: Flavio Cristoforetti Date: Mon, 5 Jul 2021 12:53:52 +0000 Subject: [PATCH 15/29] Translated using Weblate (Italian) Currently translated at 100.0% (47 of 47 strings) Translation: YunoHost/SSOwat Translate-URL: https://translate.yunohost.org/projects/yunohost/ssowat/it/ --- portal/locales/it.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/portal/locales/it.json b/portal/locales/it.json index f5c5d2b..da6a380 100644 --- a/portal/locales/it.json +++ b/portal/locales/it.json @@ -18,7 +18,7 @@ "invalid_mailforward": "Indirizzo di inoltro e-mail non valido", "logged_out": "Disconnesso", "login": "Accedi", - "logout": "Disconnettiti", + "logout": "Esci", "mail_addresses": "Indirizzi email", "mail_already_used": "Indirizzo email già in uso", "mail_forward": "Indirizzo di inoltro e-mail", From a14cdc0cedd2866838d6266f476b95cfefe0cd30 Mon Sep 17 00:00:00 2001 From: Weblate Date: Wed, 28 Jul 2021 22:24:22 +0000 Subject: [PATCH 16/29] Added translation using Weblate (Ukrainian) --- portal/locales/uk.json | 1 + 1 file changed, 1 insertion(+) create mode 100644 portal/locales/uk.json diff --git a/portal/locales/uk.json b/portal/locales/uk.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/portal/locales/uk.json @@ -0,0 +1 @@ +{} From bc1bf77d5d60b2d1d7c8fd0a39a6ff2f612ef2ab Mon Sep 17 00:00:00 2001 From: Luca Date: Sun, 8 Aug 2021 13:30:40 +0000 Subject: [PATCH 17/29] Translated using Weblate (German) Currently translated at 100.0% (47 of 47 strings) Translation: YunoHost/SSOwat Translate-URL: https://translate.yunohost.org/projects/yunohost/ssowat/de/ --- portal/locales/de.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/portal/locales/de.json b/portal/locales/de.json index bd921e3..de35f32 100644 --- a/portal/locales/de.json +++ b/portal/locales/de.json @@ -40,10 +40,10 @@ "wrong_username_password": "Falscher Benutzername oder Passwort", "redirection_error_invalid_url": "Fehler bei Weiterleitung: Ungültige URL", "redirection_error_unmanaged_domain": "Fehler bei Weiterleitung: Nicht-verwaltete Domain", - "good_practices_about_user_password": "Wählen Sie ein Benutzerpasswort mit mindestens 8 Zeichen. Das Passwort sollte mindestens 8 Zeichen lang sein - es ist jedoch empfehlenswert, ein längeres Passwort (z.B. eine Passphrase) und/oder verschiedene Arten von Zeichen (Groß- und Kleinschreibung, Ziffern und Sonderzeichen) zu verwenden.", + "good_practices_about_user_password": "Wähle ein Nutzerpasswort mit mindestens 8 Zeichen - es ist jedoch empfehlenswert, ein längeres Passwort (z.B. eine Passphrase) und/oder verschiedene Arten von Zeichen (Groß- und Kleinschreibung, Ziffern und Sonderzeichen) zu verwenden.", "password_too_simple_3": "Das Passwort muss mindestens 8 Zeichen lang sein und Grossbuchstaben, Kleinbuchstaben, Zahlen und Sonderzeichen enthalten", "password_too_simple_2": "Das Passwort muss mindestens 8 Zeichen lang sein und Grossbuchstaben, Kleinbuchstaben und Zahlen enthalten", - "password_listed": "Dieses Passwort zählt zu den meistgenutzten Passwörtern der Welt. Bitte wählen Sie ein anderes, einzigartigeres Passwort.", + "password_listed": "Dieses Passwort zählt zu den meistgenutzten Passwörtern der Welt. Bitte wähle ein anderes, einzigartigeres Passwort.", "password_too_simple_4": "Das Passwort muss mindestens 12 Zeichen lang sein und Grossbuchstaben, Kleinbuchstaben, Zahlen und Sonderzeichen enthalten", "password_too_simple_1": "Das Passwort muss mindestens 8 Zeichen lang sein" } From 0452fdeb689b9e09c4c68069e9c2237e1e207928 Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Sun, 8 Aug 2021 22:03:07 +0200 Subject: [PATCH 18/29] Update changelog for 4.2.4 --- debian/changelog | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/debian/changelog b/debian/changelog index ae3c1da..514c471 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,15 @@ +ssowat (4.2.4) testing; urgency=low + + - [fix] Misc issues regarding dash filename, mime types, ynh_userinfo.json ([#189](https://github.com/yunohost/ssowat/pull/189)) + - [fix] Broken Yunohost tile/overlay on iPhone ([#186](https://github.com/yunohost/ssowat/pull/186)) + - [enh] Save overlay positions accross navigation ([#187](https://github.com/yunohost/ssowat/pull/187)) + - [enh] security: Improve randomness of tmp filename ([#190](https://github.com/yunohost/ssowat/pull/190)) + - [i18n] Translations updated for Esperanto, Finnish, Galician, German, Italian + + Thanks to all contributors <3 ! (amirale qt, Christian Wehrli, Flavio Cristoforetti, José M, ljf, Luca, Mico Hauataluoma) + + -- Alexandre Aubin Sun, 08 Aug 2021 21:58:14 +0200 + ssowat (4.2.3) stable; urgency=low - [i18n] Translations updated for Galician From 37b2db471b8fcf1656ca1bc435005731de744593 Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Sun, 8 Aug 2021 22:03:07 +0200 Subject: [PATCH 19/29] Update changelog for 4.2.4 --- debian/changelog | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/debian/changelog b/debian/changelog index ae3c1da..b5fc09b 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,15 @@ +ssowat (4.2.4) stable; urgency=low + + - [fix] Misc issues regarding dash filename, mime types, ynh_userinfo.json ([#189](https://github.com/yunohost/ssowat/pull/189)) + - [fix] Broken Yunohost tile/overlay on iPhone ([#186](https://github.com/yunohost/ssowat/pull/186)) + - [enh] Save overlay positions accross navigation ([#187](https://github.com/yunohost/ssowat/pull/187)) + - [enh] security: Improve randomness of tmp filename ([#190](https://github.com/yunohost/ssowat/pull/190)) + - [i18n] Translations updated for Esperanto, Finnish, Galician, German, Italian + + Thanks to all contributors <3 ! (amirale qt, Christian Wehrli, Flavio Cristoforetti, José M, ljf, Luca, Mico Hauataluoma) + + -- Alexandre Aubin Sun, 08 Aug 2021 21:58:14 +0200 + ssowat (4.2.3) stable; urgency=low - [i18n] Translations updated for Galician From b28788d708c74ef8e4c568420196327f76ca4391 Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Sat, 14 Aug 2021 21:23:53 +0200 Subject: [PATCH 20/29] Improve logging when failing to authenticate ssowat cookies --- helpers.lua | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/helpers.lua b/helpers.lua index 0ae6d33..349f3e1 100644 --- a/helpers.lua +++ b/helpers.lua @@ -237,15 +237,23 @@ function refresh_logged_in() "|"..expireTime.. "|"..session_key) is_logged_in = hash == authHash - if not is_logged_in then - logger.info("Hash "..authHash.." rejected for "..user.."@"..ngx.var.remote_addr) - else + if is_logged_in then authUser = user + return true + else + failReason = "Hash not matching" end - return is_logged_in + else + failReason = "No {user}-password entry in cache" end + else + failReason = "No session key" end + else + failReason = "Cookie expired" end + logger.debug("SSOwat cookies rejected for "..user.."@"..ngx.var.remote_addr.." : "..failReason) + return false end -- If client set the `Proxy-Authorization` header before reaching the SSO, From 07378dfd463d70ab0265a6f33d666cb7f96c3e94 Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Sun, 15 Aug 2021 21:41:50 +0200 Subject: [PATCH 21/29] Forgot to python -> python3 in password check --- helpers.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/helpers.lua b/helpers.lua index 349f3e1..d490857 100644 --- a/helpers.lua +++ b/helpers.lua @@ -768,7 +768,7 @@ function edit_user() -- and the new password against the confirmation field's content if args.newpassword == args.confirm then -- Check password validity - local result_msg = secure_cmd_password("python /usr/lib/moulinette/yunohost/utils/password.py", args.newpassword) + local result_msg = secure_cmd_password("python3 /usr/lib/moulinette/yunohost/utils/password.py", args.newpassword) validation_error = true if result_msg == nil or result_msg == "" then validation_error = nil From f057e0178fca0951f21b30a1426b073b0887d50a Mon Sep 17 00:00:00 2001 From: Tymofii-Lytvynenko Date: Fri, 27 Aug 2021 07:31:37 +0000 Subject: [PATCH 22/29] Translated using Weblate (Ukrainian) Currently translated at 2.1% (1 of 47 strings) Translation: YunoHost/SSOwat Translate-URL: https://translate.yunohost.org/projects/yunohost/ssowat/uk/ --- portal/locales/uk.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/portal/locales/uk.json b/portal/locales/uk.json index 0967ef4..1e5569f 100644 --- a/portal/locales/uk.json +++ b/portal/locales/uk.json @@ -1 +1,3 @@ -{} +{ + "cancel": "Скасувати" +} From 374c5f8d5497fcc2eca3e2c69580cbaafacef820 Mon Sep 17 00:00:00 2001 From: Weblate Date: Sat, 28 Aug 2021 21:47:02 +0000 Subject: [PATCH 23/29] Added translation using Weblate (Persian) --- portal/locales/fa.json | 1 + 1 file changed, 1 insertion(+) create mode 100644 portal/locales/fa.json diff --git a/portal/locales/fa.json b/portal/locales/fa.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/portal/locales/fa.json @@ -0,0 +1 @@ +{} From 063d6d5346c82132d474ce40c215030dcbbf8827 Mon Sep 17 00:00:00 2001 From: Tymofii-Lytvynenko Date: Fri, 27 Aug 2021 22:20:50 +0000 Subject: [PATCH 24/29] Translated using Weblate (Ukrainian) Currently translated at 100.0% (47 of 47 strings) Translation: YunoHost/SSOwat Translate-URL: https://translate.yunohost.org/projects/yunohost/ssowat/uk/ --- portal/locales/uk.json | 48 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 47 insertions(+), 1 deletion(-) diff --git a/portal/locales/uk.json b/portal/locales/uk.json index 1e5569f..9051610 100644 --- a/portal/locales/uk.json +++ b/portal/locales/uk.json @@ -1,3 +1,49 @@ { - "cancel": "Скасувати" + "cancel": "Скасувати", + "logged_out": "Ви вийшли з системи", + "footerlink_administration": "Адміністрація", + "footerlink_support": "Підтримка", + "footerlink_documentation": "Документація", + "footerlink_edit": "Редагувати мій профіль", + "redirection_error_unmanaged_domain": "Помилка перенаправлення: Некерований домен", + "redirection_error_invalid_url": "Помилка перенаправлення: Недійсна URL-адреса", + "please_login_from_portal": "Увійдіть у систему з порталу", + "please_login": "Увійдіть, щоб отримати доступ до цього вмісту", + "wrong_username_password": "Неправильне ім'я користувача або пароль", + "missing_required_fields": "Заповніть необхідні поля", + "user_saving_fail": "Не вдалося зберегти нові відомості користувача", + "information_updated": "Відомості оновлено", + "mail_already_used": "Адреса е-пошти вже використовується", + "invalid_mailforward": "Недійсна адреса переадресації е-пошти", + "invalid_domain": "Недійсний домен у", + "invalid_mail": "Недійсна адреса е-пошти", + "wrong_current_password": "Поточний пароль неправильний", + "good_practices_about_user_password": "Виберіть пароль користувача щонайменше 8 символів - хоча це хороша практика використовувати довші (тобто фрази-гасла) та/або використовувати різні символи (великі, малі, числа та спеціальні символи).", + "password_too_simple_4": "Пароль повинен бути щонайменше 12 символів довжиною і містити числа, верхній, нижній регістри та спеціальні символи", + "password_too_simple_3": "Пароль повинен бути щонайменше 8 символів довжиною і містити числа, верхній, нижній регістри та спеціальні символи", + "password_too_simple_2": "Пароль повинен бути щонайменше 8 символів довжиною і містити числа, верхній та нижній регістри", + "password_too_simple_1": "Пароль повинен бути щонайменше 8 символів", + "password_listed": "Цей пароль є одним з найбільш використовуваних паролів у світі. Будь ласка, виберіть щось трохи більш неповторюване.", + "password_not_match": "Паролі не збігаються", + "password_changed_error": "Не вдалося змінити пароль", + "password_changed": "Пароль змінено", + "logout": "Вийти", + "login": "Увійти", + "confirm": "Підтвердити", + "new_password": "Новий пароль", + "current_password": "Поточний пароль", + "edit": "Редагувати", + "change_password": "Змінити пароль", + "add_forward": "Додайте адресу переадресації е-пошти", + "add_mail": "Додайте аліас е-пошти", + "new_forward": "novapereadresaciya@myforeigndomain.org", + "new_mail": "novaeposhta@mydomain.org", + "mail_forward": "Адреса переадресації е-пошти", + "mail_addresses": "Адреси е-пошти", + "fullname": "Повне ім'я", + "username": "Ім'я користувача", + "information": "Ваші відомості", + "portal": "Портал Yunohost", + "password": "Пароль", + "ok": "Гаразд" } From ff471ca5128dcc1340a11c86990d2f3d4b97be39 Mon Sep 17 00:00:00 2001 From: Parviz Homayun Date: Sun, 29 Aug 2021 20:36:21 +0000 Subject: [PATCH 25/29] Translated using Weblate (Persian) Currently translated at 2.1% (1 of 47 strings) Translation: YunoHost/SSOwat Translate-URL: https://translate.yunohost.org/projects/yunohost/ssowat/fa/ --- portal/locales/fa.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/portal/locales/fa.json b/portal/locales/fa.json index 0967ef4..06558a7 100644 --- a/portal/locales/fa.json +++ b/portal/locales/fa.json @@ -1 +1,3 @@ -{} +{ + "cancel": "لغو" +} From c5e94bc4488df7865b4784b6e1ec414f57431a86 Mon Sep 17 00:00:00 2001 From: Weblate Date: Mon, 30 Aug 2021 14:14:40 +0000 Subject: [PATCH 26/29] Added translation using Weblate (Kurdish (Central)) --- portal/locales/ckb.json | 1 + 1 file changed, 1 insertion(+) create mode 100644 portal/locales/ckb.json diff --git a/portal/locales/ckb.json b/portal/locales/ckb.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/portal/locales/ckb.json @@ -0,0 +1 @@ +{} From 028a70fb63adcf793b85199d43a8b0b6e93bf85e Mon Sep 17 00:00:00 2001 From: Parviz Homayun Date: Mon, 30 Aug 2021 19:21:18 +0000 Subject: [PATCH 27/29] Translated using Weblate (Persian) Currently translated at 8.5% (4 of 47 strings) Translation: YunoHost/SSOwat Translate-URL: https://translate.yunohost.org/projects/yunohost/ssowat/fa/ --- portal/locales/fa.json | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/portal/locales/fa.json b/portal/locales/fa.json index 06558a7..9f2cfe2 100644 --- a/portal/locales/fa.json +++ b/portal/locales/fa.json @@ -1,3 +1,6 @@ { - "cancel": "لغو" + "cancel": "لغو", + "logged_out": "خارج شده", + "password": "کلمه عبور", + "ok": "خوب" } From e85a0daf8aa322c6fe8cca3643fd8d00633f76ab Mon Sep 17 00:00:00 2001 From: Parviz Homayun Date: Mon, 30 Aug 2021 20:25:20 +0000 Subject: [PATCH 28/29] Translated using Weblate (Persian) Currently translated at 100.0% (47 of 47 strings) Translation: YunoHost/SSOwat Translate-URL: https://translate.yunohost.org/projects/yunohost/ssowat/fa/ --- portal/locales/fa.json | 45 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 44 insertions(+), 1 deletion(-) diff --git a/portal/locales/fa.json b/portal/locales/fa.json index 9f2cfe2..245e2cd 100644 --- a/portal/locales/fa.json +++ b/portal/locales/fa.json @@ -2,5 +2,48 @@ "cancel": "لغو", "logged_out": "خارج شده", "password": "کلمه عبور", - "ok": "خوب" + "ok": "خوب", + "footerlink_administration": "مدیریت", + "footerlink_support": "پشتیبانی", + "footerlink_documentation": "مستندات", + "footerlink_edit": "ویرایش پروفایل من", + "redirection_error_unmanaged_domain": "خطای تغییر مسیر: دامنه مدیریت نشده", + "redirection_error_invalid_url": "خطای تغییر مسیر: نشانی اینترنتی نامعتبر است", + "please_login_from_portal": "لطفاً از درگاه پورتال وارد شوید", + "please_login": "لطفاً برای دسترسی به این محتوا وارد شوید", + "wrong_username_password": "نام کاربری یا رمز عبور اشتباه است", + "missing_required_fields": "فیلدهای مورد نیاز را پر کنید", + "user_saving_fail": "اطلاعات کاربر جدید ذخیره نشد", + "information_updated": "اطلاعات به روز شد", + "mail_already_used": "آدرس پست الکترونیکی قبلاً استفاده می شود", + "invalid_mailforward": "آدرس ارسال ایمیل نامعتبر است", + "invalid_domain": "دامنه نامعتبر در", + "invalid_mail": "آدرس ایمیل نامعتبر است", + "wrong_current_password": "رمز فعلی اشتباه است", + "good_practices_about_user_password": "گذرواژه کاربر را حداقل با 8 کاراکتر انتخاب کنید - هرچند استفاده از کلمات طولانی تر تمرین خوبی است (مانند عبارت عبور) و/یا استفاده از انواع مختلف کاراکترها (بزرگ ، کوچک ، رقم و کاراکتر های خاص).", + "password_too_simple_4": "گذرواژه باید دارای حداقل 12 کاراکتر طول و شامل اعداد و حروف کوچک و بزرگ و کاراکترهای خاص باشد", + "password_too_simple_3": "گذرواژه باید دارای حداقل 8 کاراکتر طول و شامل اعداد و حروف کوچک و بزرگ و کاراکترهای خاص باشد", + "password_too_simple_2": "گذرواژه باید دارای حداقل 8 کاراکتر طول و شامل اعداد و حروف کوچک و بزرگ باشد", + "password_too_simple_1": "رمز عبور باید حداقل 8 کاراکتر باشد", + "password_listed": "این رمز عبور جزو پر استفاده ترین رمزهای عبور جهان بشمار میرود. لطفاً گذرواژه منحصر به فردتری انتخاب کنید.", + "password_not_match": "گذرواژه ها مطابقت ندارند", + "password_changed_error": "رمز عبور تغییر نکرد", + "password_changed": "رمز عبور تغییر کرد", + "logout": "خروج", + "login": "وارد شدن", + "confirm": "تایید", + "new_password": "رمز عبور جدید", + "current_password": "رمز عبور فعلی", + "edit": "ویرایش", + "change_password": "تغییر رمز عبور", + "add_forward": "آدرس هدایت ایمیل را اضافه کنید", + "add_mail": "یک نام مستعار ایمیل اضافه کنید", + "new_forward": "newforward@myforeigndomain.org", + "new_mail": "newmail@mydomain.org", + "mail_forward": "آدرس ارسال به جلو ایمیل", + "mail_addresses": "آدرس ایمیل", + "fullname": "نام و نام خانوادگی", + "username": "نام کاربری", + "information": "اطلاعات شما", + "portal": "پورتال YunoHost" } From 570f40fe7d392377ddf7144c5d550a24955254ae Mon Sep 17 00:00:00 2001 From: Cyril Romain Date: Tue, 31 Aug 2021 11:15:20 +0000 Subject: [PATCH 29/29] [Fix] ynh_portal.css: fix font urls --- portal/assets/css/ynh_portal.css | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/portal/assets/css/ynh_portal.css b/portal/assets/css/ynh_portal.css index a271626..4a580a6 100644 --- a/portal/assets/css/ynh_portal.css +++ b/portal/assets/css/ynh_portal.css @@ -20,7 +20,7 @@ ========================================================================== */ @font-face { font-family: 'ynh_ssowat'; - src: url('fonts/ynh_ssowat/ynh_ssowat.eot'); + src: url('../fonts/ynh_ssowat/ynh_ssowat.eot'); } @font-face { @@ -33,26 +33,26 @@ @font-face { font-family: 'source_sans_probold'; - src: url('sourcesanspro-bold-webfont.eot'); + src: url('../fonts/sourcesanspro-bold-webfont.eot'); } @font-face { font-family: 'source_sans_probold'; src: url(data:application/x-font-woff;charset=utf-8;base64,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) format('woff'), - url('sourcesanspro-bold-webfont.ttf') format('truetype'); + url('../fonts/sourcesanspro-bold-webfont.ttf') format('truetype'); font-weight: normal; font-style: normal; } @font-face { font-family: 'source_sans_proregular'; - src: url('sourcesanspro-regular-webfont.eot'); + src: url('../fonts/sourcesanspro-regular-webfont.eot'); } @font-face { font-family: 'source_sans_proregular'; src: url(data:application/x-font-woff;charset=utf-8;base64,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) format('woff'), - url('sourcesanspro-regular-webfont.ttf') format('truetype'); + url('../fonts/sourcesanspro-regular-webfont.ttf') format('truetype'); font-weight: normal; font-style: normal; }