luci-mod-admin-full: fix translation interpolation in JS confirm() calls
authorJo-Philipp Wich <jo@mein.io>
Fri, 8 Jun 2018 13:48:03 +0000 (15:48 +0200)
committerJo-Philipp Wich <jo@mein.io>
Fri, 8 Jun 2018 13:48:26 +0000 (15:48 +0200)
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>
modules/luci-mod-admin-full/luasrc/view/admin_network/iface_overview.htm
modules/luci-mod-admin-full/luasrc/view/admin_network/wifi_overview.htm

index f5c182e164b8bbd8b18a320d818d7e7f034f5f77..82ce4ad07fd0c424d3e6d4025b67ae0fb7e6f52c 100644 (file)
@@ -33,7 +33,7 @@
 <script type="text/javascript" src="<%=resource%>/cbi.js"></script>
 <script type="text/javascript">//<![CDATA[
        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;
 
                var d = document.getElementById(id + '-ifc-description');
@@ -67,7 +67,7 @@
        }
 
        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;
 
                (new XHR()).post('<%=url('admin/network/iface_delete')%>/' + id, { token: '<%=token%>' },
index 4447ee33008eeaef4b5f7464e380a93435dcc5a2..577f72842f415d884ce203ea5df79cfa4ba00330 100644 (file)
        function wifi_shutdown(id, toggle) {
                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;
 
                is_reconnecting = true;
        }
 
        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;
 
                (new XHR()).post('<%=url('admin/network/wireless_delete')%>/' + id, { token: '<%=token%>' },