luci-mod-admin-full: fix translation interpolation in JS confirm() calls

Use luci.http.write_json() in conjunction with translate() to write out
unescaped translation strings in a manner suitable for interpolation inside
JavaScript.

Fixes #1870
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
This commit is contained in:
Jo-Philipp Wich 2018-06-08 15:48:03 +02:00
parent 0e0ee2fed5
commit 588c8618b6
2 changed files with 4 additions and 4 deletions

View file

@ -33,7 +33,7 @@
<script type="text/javascript" src="<%=resource%>/cbi.js"></script> <script type="text/javascript" src="<%=resource%>/cbi.js"></script>
<script type="text/javascript">//<![CDATA[ <script type="text/javascript">//<![CDATA[
function iface_shutdown(id, reconnect) { function iface_shutdown(id, reconnect) {
if (!reconnect && !confirm(String.format('<%:Really shutdown interface "%s"? You might lose access to this device if you are connected via this interface.%>', id))) if (!reconnect && !confirm(<%=luci.http.write_json(translate('Really shutdown interface "%s"? You might lose access to this device if you are connected via this interface.'))%>.format(id)))
return; return;
var d = document.getElementById(id + '-ifc-description'); var d = document.getElementById(id + '-ifc-description');
@ -67,7 +67,7 @@
} }
function iface_delete(id) { function iface_delete(id) {
if (!confirm('<%:Really delete this interface? The deletion cannot be undone! You might lose access to this device if you are connected via this interface.%>')) if (!confirm(<%=luci.http.write_json(translate('Really delete this interface? The deletion cannot be undone! You might lose access to this device if you are connected via this interface'))%>))
return; return;
(new XHR()).post('<%=url('admin/network/iface_delete')%>/' + id, { token: '<%=token%>' }, (new XHR()).post('<%=url('admin/network/iface_delete')%>/' + id, { token: '<%=token%>' },

View file

@ -138,7 +138,7 @@
function wifi_shutdown(id, toggle) { function wifi_shutdown(id, toggle) {
var reconnect = (toggle.getAttribute('active') == 'false'); var reconnect = (toggle.getAttribute('active') == 'false');
if (!reconnect && !confirm(String.format('<%:Really shut down network?\nYou might lose access to this device if you are connected via this interface.%>'))) if (!reconnect && !confirm(<%=luci.http.write_json(translate('Really shut down network? You might lose access to this device if you are connected via this interface'))%>))
return; return;
is_reconnecting = true; is_reconnecting = true;
@ -176,7 +176,7 @@
} }
function wifi_delete(id) { function wifi_delete(id) {
if (!confirm('<%:Really delete this wireless network? The deletion cannot be undone! You might lose access to this device if you are connected via this network.%>')) if (!confirm(<%=luci.http.write_json(translate('Really delete this wireless network? The deletion cannot be undone! You might lose access to this device if you are connected via this network.'))%>))
return; return;
(new XHR()).post('<%=url('admin/network/wireless_delete')%>/' + id, { token: '<%=token%>' }, (new XHR()).post('<%=url('admin/network/wireless_delete')%>/' + id, { token: '<%=token%>' },