Merge pull request #2399 from MyIgel/remove-xhtml

treewide: Replace xhtml content type with html, remove xhtml workaround, replace self closing tags
This commit is contained in:
Matthias Schiffer 2022-02-22 21:46:29 +01:00 committed by GitHub
commit 26b26395d1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
28 changed files with 73 additions and 83 deletions

View File

@ -74,8 +74,7 @@ Useful functions:
- *header* (*key*, *value*): Adds an HTTP header to the reply to be sent to - *header* (*key*, *value*): Adds an HTTP header to the reply to be sent to
the client. Has no effect when non-header data has already been written. the client. Has no effect when non-header data has already been written.
- *prepare_content* (*mime*): Sets the *Content-Type* header to the given MIME - *prepare_content* (*mime*): Sets the *Content-Type* header to the given MIME
type, potentially setting additional headers or modifying the MIME type to type
accommodate browser quirks
- *write* (*data*, ...): Sends the given data to the client. If headers have not - *write* (*data*, ...): Sends the given data to the client. If headers have not
been sent, it will be done before the data is written. been sent, it will be done before the data is written.

View File

@ -45,7 +45,7 @@ msgstr ""
"selbstverständlich vertraulich behandelt und nicht weitergegeben." "selbstverständlich vertraulich behandelt und nicht weitergegeben."
"</p>" "</p>"
"<div class=\"the-key\">" "<div class=\"the-key\">"
"# <%= pcdata(hostname) %><br />" "# <%= pcdata(hostname) %><br>"
"<%= pubkey %>" "<%= pubkey %>"
"</div>" "</div>"
"<p>Dein Knoten startet gerade neu und wird anschließend versuchen, sich mit " "<p>Dein Knoten startet gerade neu und wird anschließend versuchen, sich mit "

View File

@ -41,7 +41,7 @@ msgstr ""
"\">keys@alpha-centauri.freifunk.net</a>. Of course, your e-mail address will " "\">keys@alpha-centauri.freifunk.net</a>. Of course, your e-mail address will "
"be treated confidentially and will not be passed on.</p>" "be treated confidentially and will not be passed on.</p>"
"<div class=\"the-key\">" "<div class=\"the-key\">"
" # <%= pcdata(hostname) %><br />" " # <%= pcdata(hostname) %><br>"
"<%= pubkey %>" "<%= pubkey %>"
"</div>" "</div>"
"<p>Your node <em><%= pcdata(hostname) %></em> is currently rebooting and will " "<p>Your node <em><%= pcdata(hostname) %></em> is currently rebooting and will "

View File

@ -36,7 +36,7 @@ msgstr ""
"body=<%= urlencode('# ' .. hostname .. '\n' .. pubkey) %>\">keys@alpha-centauri.freifunk.net</a>." "body=<%= urlencode('# ' .. hostname .. '\n' .. pubkey) %>\">keys@alpha-centauri.freifunk.net</a>."
"</p>" "</p>"
"<div class=\"the-key\">" "<div class=\"the-key\">"
" # <%= pcdata(hostname) %><br />" " # <%= pcdata(hostname) %><br>"
"<%= pubkey %>" "<%= pubkey %>"
"</div>" "</div>"

View File

@ -1,10 +1,10 @@
<!DOCTYPE html> <!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"> <html lang="">
<head> <head>
<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" /> <meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate">
<meta http-equiv="Pragma" content="no-cache" /> <meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Expires" content="0" /> <meta http-equiv="Expires" content="0">
<meta http-equiv="refresh" content="0; URL=/cgi-bin/config" /> <meta http-equiv="refresh" content="0; URL=/cgi-bin/config">
</head> </head>
<body> <body>
</body> </body>

View File

@ -82,7 +82,7 @@ You may obtain a copy of the License at
end end
%> %>
</ul> </ul>
<br style="clear:both" /> <br style="clear:both">
<% <%
subtree(append(prefix, name), node.nodes[name], ...) subtree(append(prefix, name), node.nodes[name], ...)
%> %>
@ -94,13 +94,13 @@ You may obtain a copy of the License at
subtree({path}, root.nodes[category], ...) subtree({path}, root.nodes[category], ...)
end end
http:prepare_content("application/xhtml+xml") http:prepare_content("text/html")
-%> -%>
<!DOCTYPE html> <!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang=""> <html lang="">
<head> <head>
<meta charset="UTF-8" /> <meta charset="UTF-8">
<link rel="stylesheet" type="text/css" media="screen" href="/static/gluon.css" /> <link rel="stylesheet" type="text/css" media="screen" href="/static/gluon.css">
<title><%| hostname .. ((rnode and rnode.title) and ' - ' .. title(rnode) or '') %></title> <title><%| hostname .. ((rnode and rnode.title) and ' - ' .. title(rnode) or '') %></title>
</head> </head>
<body> <body>
@ -134,7 +134,7 @@ You may obtain a copy of the License at
<div id="maincontent"> <div id="maincontent">
<noscript> <noscript>
<div class="errorbox"> <div class="errorbox">
<strong><%:JavaScript required!%></strong><br /> <strong><%:JavaScript required!%></strong><br>
<%:You must enable JavaScript in your browser or the web interface will not work properly.%> <%:You must enable JavaScript in your browser or the web interface will not work properly.%>
</div> </div>
</noscript> </noscript>

View File

@ -1,15 +1,15 @@
<%- <%-
http:prepare_content("application/xhtml+xml") http:prepare_content("text/html")
-%> -%>
<!DOCTYPE html> <!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang=""> <html lang="">
<head> <head>
<meta charset="utf-8" /> <meta charset="utf-8">
<meta name="viewport" content="width=device-width, user-scalable=no" /> <meta name="viewport" content="width=device-width, user-scalable=no">
<title><%:Error%></title> <title><%:Error%></title>
<link rel="stylesheet" href="/static/status-page.css" type="text/css" /> <link rel="stylesheet" href="/static/status-page.css" type="text/css">
</head> </head>
<body> <body>
<header> <header>

View File

@ -111,24 +111,24 @@
end end
local function statisticsTraffic(key) local function statisticsTraffic(key)
return string.format('%s<br />%s<br />%s', return string.format('%s<br>%s<br>%s',
statistics(key .. '/packets', 'packetsDiff'), statistics(key .. '/packets', 'packetsDiff'),
statistics(key .. '/bytes', 'bytesDiff'), statistics(key .. '/bytes', 'bytesDiff'),
statistics(key .. '/bytes', 'bytes') statistics(key .. '/bytes', 'bytes')
) )
end end
http:prepare_content("application/xhtml+xml") http:prepare_content("text/html")
-%> -%>
<!DOCTYPE html> <!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang=""> <html lang="">
<head> <head>
<meta charset="utf-8" /> <meta charset="utf-8">
<meta name="viewport" content="width=device-width, user-scalable=no" /> <meta name="viewport" content="width=device-width, user-scalable=no">
<title><%| nodeinfo.hostname %> - <%:Status%></title> <title><%| nodeinfo.hostname %> - <%:Status%></title>
<link rel="stylesheet" href="/static/status-page.css" type="text/css" /> <link rel="stylesheet" href="/static/status-page.css" type="text/css">
</head> </head>
<body data-node-address="<%| http:getenv('SERVER_ADDR') %>"<%= <body data-node-address="<%| http:getenv('SERVER_ADDR') %>"<%=
attr('data-translations', translations) .. attr('data-translations', translations) ..
@ -154,21 +154,21 @@
<%- end %> <%- end %>
<dt><%:Model%></dt><dd><%| nodeinfo.hardware.model %></dd> <dt><%:Model%></dt><dd><%| nodeinfo.hardware.model %></dd>
<dt><%:Primary MAC address%></dt><dd><%| nodeinfo.network.mac %></dd> <dt><%:Primary MAC address%></dt><dd><%| nodeinfo.network.mac %></dd>
<dt><%:IP address%></dt><dd><%= pcdata(table.concat(sorted(nodeinfo.network.addresses), '\n')):gsub('\n', '<br />') %></dd> <dt><%:IP address%></dt><dd><%= pcdata(table.concat(sorted(nodeinfo.network.addresses), '\n')):gsub('\n', '<br>') %></dd>
<dt><%:Firmware%></dt><dd><%| nodeinfo.software.firmware.release %></dd> <dt><%:Firmware%></dt><dd><%| nodeinfo.software.firmware.release %></dd>
<% if nodeinfo.network.mesh_vpn then -%> <% if nodeinfo.network.mesh_vpn then -%>
<dt><%:Mesh VPN%></dt> <dt><%:Mesh VPN%></dt>
<dd> <dd>
<%| enabled(nodeinfo.network.mesh_vpn.enabled) %> <%| enabled(nodeinfo.network.mesh_vpn.enabled) %>
<% if nodeinfo.network.mesh_vpn.provider then -%> <% if nodeinfo.network.mesh_vpn.provider then -%>
<br /><%| nodeinfo.network.mesh_vpn.provider %> <br><%| nodeinfo.network.mesh_vpn.provider %>
<%- end %> <%- end %>
</dd> </dd>
<% if nodeinfo.network.mesh_vpn.bandwidth_limit.enabled then -%> <% if nodeinfo.network.mesh_vpn.bandwidth_limit.enabled then -%>
<dt><%:Bandwidth limit%></dt> <dt><%:Bandwidth limit%></dt>
<dd> <dd>
<% if nodeinfo.network.mesh_vpn.bandwidth_limit.ingress then -%> <% if nodeinfo.network.mesh_vpn.bandwidth_limit.ingress then -%>
<%| formatBits(nodeinfo.network.mesh_vpn.bandwidth_limit.ingress*1000) %>/s <%:downstream%><br /> <%| formatBits(nodeinfo.network.mesh_vpn.bandwidth_limit.ingress*1000) %>/s <%:downstream%><br>
<%- end %> <%- end %>
<% if nodeinfo.network.mesh_vpn.bandwidth_limit.egress then -%> <% if nodeinfo.network.mesh_vpn.bandwidth_limit.egress then -%>
<%| formatBits(nodeinfo.network.mesh_vpn.bandwidth_limit.egress*1000) %>/s <%:upstream%> <%| formatBits(nodeinfo.network.mesh_vpn.bandwidth_limit.egress*1000) %>/s <%:upstream%>
@ -213,7 +213,7 @@
<tr><th><%:Load average%></th><td><%= statistics('loadavg', 'decimal') %></td></tr> <tr><th><%:Load average%></th><td><%= statistics('loadavg', 'decimal') %></td></tr>
<tr><th><%:RAM%></th><td><%= statistics('memory', 'memory') %></td></tr> <tr><th><%:RAM%></th><td><%= statistics('memory', 'memory') %></td></tr>
<tr><th><%:Filesystem%></th><td><%= statistics('rootfs_usage', 'percent') %></td></tr> <tr><th><%:Filesystem%></th><td><%= statistics('rootfs_usage', 'percent') %></td></tr>
<tr><th><%:Gateway%></th><td><%= statistics('gateway') %><br /><%= statistics('gateway_nexthop', 'neighbour') %></td></tr> <tr><th><%:Gateway%></th><td><%= statistics('gateway') %><br><%= statistics('gateway_nexthop', 'neighbour') %></td></tr>
</table> </table>
<h3><%:Clients%></h3> <h3><%:Clients%></h3>

View File

@ -1,10 +1,10 @@
<!DOCTYPE html> <!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"> <html lang="">
<head> <head>
<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" /> <meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate">
<meta http-equiv="Pragma" content="no-cache" /> <meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Expires" content="0" /> <meta http-equiv="Expires" content="0">
<meta http-equiv="refresh" content="0; URL=/cgi-bin/status" /> <meta http-equiv="refresh" content="0; URL=/cgi-bin/status">
</head> </head>
<body> <body>
</body> </body>

View File

@ -26,7 +26,7 @@ $Id$
<%:Firmware image%> <%:Firmware image%>
</label> </label>
<div class="gluon-value-field"> <div class="gluon-value-field">
<input type="file" name="image" /> <input type="file" name="image">
</div> </div>
</div> </div>
@ -36,14 +36,14 @@ $Id$
</label> </label>
<div class="gluon-value-field"> <div class="gluon-value-field">
<input id="keepcfg" type="checkbox" name="keepcfg" value="1" checked="checked" /> <input id="keepcfg" type="checkbox" name="keepcfg" value="1" checked="checked">
<label for="keepcfg"></label> <label for="keepcfg"></label>
</div> </div>
</div> </div>
</div> </div>
<div class="gluon-page-actions"> <div class="gluon-page-actions">
<input type="hidden" name="step" value="2" /> <input type="hidden" name="step" value="2">
<input class="gluon-button gluon-button-submit" type="submit" value="<%:Upload image%>" /> <input class="gluon-button gluon-button-submit" type="submit" value="<%:Upload image%>">
</div> </div>
</form> </form>

View File

@ -47,13 +47,13 @@ You may obtain a copy of the License at
</p> </p>
<div class="gluon-page-actions"> <div class="gluon-page-actions">
<form method="post" enctype="multipart/form-data" action="<%|url(request)%>" style="display:inline"> <form method="post" enctype="multipart/form-data" action="<%|url(request)%>" style="display:inline">
<input type="hidden" name="step" value="3" /> <input type="hidden" name="step" value="3">
<input type="hidden" name="keepcfg" value="<%=keepconfig and "1" or "0"%>" /> <input type="hidden" name="keepcfg" value="<%=keepconfig and "1" or "0"%>">
<input class="gluon-button gluon-button-submit" type="submit" value="<%:Continue%>" /> <input class="gluon-button gluon-button-submit" type="submit" value="<%:Continue%>">
</form> </form>
<form method="post" enctype="multipart/form-data" action="<%|url(request)%>" style="display:inline"> <form method="post" enctype="multipart/form-data" action="<%|url(request)%>" style="display:inline">
<input type="hidden" name="step" value="1" /> <input type="hidden" name="step" value="1">
<input type="hidden" name="keepcfg" value="<%=keepconfig and "1" or "0"%>" /> <input type="hidden" name="keepcfg" value="<%=keepconfig and "1" or "0"%>">
<input class="gluon-button gluon-button-reset" type="submit" value="<%:Cancel%>" /> <input class="gluon-button gluon-button-reset" type="submit" value="<%:Cancel%>">
</form> </form>
</div> </div>

View File

@ -21,11 +21,11 @@ msgstr "Erweiterte Einstellungen"
msgid "" msgid ""
"Alternatively, you can set a password to access your node. Please choose a " "Alternatively, you can set a password to access your node. Please choose a "
"secure password you don't use anywhere else.<br /><br />If you set an empty " "secure password you don't use anywhere else.<br><br>If you set an empty "
"password, login via password will be disabled. This is the default." "password, login via password will be disabled. This is the default."
msgstr "" msgstr ""
"Alternativ kannst du auch ein Passwort setzen. Wähle bitte ein sicheres " "Alternativ kannst du auch ein Passwort setzen. Wähle bitte ein sicheres "
"Passwort, das du nirgendwo anders verwendest.<br /><br />Beim Setzen eines " "Passwort, das du nirgendwo anders verwendest.<br><br>Beim Setzen eines "
"leeren Passworts wird der Login per Passwort gesperrt (dies ist die Standard-" "leeren Passworts wird der Login per Passwort gesperrt (dies ist die Standard-"
"Einstellung)." "Einstellung)."

View File

@ -21,12 +21,12 @@ msgstr "Paramètres avancés"
msgid "" msgid ""
"Alternatively, you can set a password to access your node. Please choose a " "Alternatively, you can set a password to access your node. Please choose a "
"secure password you don't use anywhere else.<br /><br />If you set an empty " "secure password you don't use anywhere else.<br><br>If you set an empty "
"password, login via password will be disabled. This is the default." "password, login via password will be disabled. This is the default."
msgstr "" msgstr ""
"Alternativement, vous pouvez mettre un mot de passe pour accéder à votre " "Alternativement, vous pouvez mettre un mot de passe pour accéder à votre "
"nœud, Penseiz à choisir un mot de passe sûr, que vous n'utilisez nulle part " "nœud, Penseiz à choisir un mot de passe sûr, que vous n'utilisez nulle part "
"ailleurs. <br /><br /> Si vous n'entrez pas de mot de passe, la connexion " "ailleurs. <br><br> Si vous n'entrez pas de mot de passe, la connexion "
"par mot de passe sera désactivée. La connexion par mot de passe est " "par mot de passe sera désactivée. La connexion par mot de passe est "
"désactivée par défaut." "désactivée par défaut."

View File

@ -12,7 +12,7 @@ msgstr ""
msgid "" msgid ""
"Alternatively, you can set a password to access your node. Please choose a " "Alternatively, you can set a password to access your node. Please choose a "
"secure password you don't use anywhere else.<br /><br />If you set an empty " "secure password you don't use anywhere else.<br><br>If you set an empty "
"password, login via password will be disabled. This is the default." "password, login via password will be disabled. This is the default."
msgstr "" msgstr ""

View File

@ -51,7 +51,7 @@ end
local f_password = Form(translate("Password"), translate( local f_password = Form(translate("Password"), translate(
"Alternatively, you can set a password to access your node. Please choose a " "Alternatively, you can set a password to access your node. Please choose a "
.. "secure password you don't use anywhere else.<br /><br />If you set an empty " .. "secure password you don't use anywhere else.<br><br>If you set an empty "
.. "password, login via password will be disabled. This is the default." .. "password, login via password will be disabled. This is the default."
), 'password' ), 'password'
) )

View File

@ -1,34 +1,34 @@
<div class="gluon-value"> <div class="gluon-value">
<div class="gluon-value-title"> <div class="gluon-value-title">
<input data-update="change" type="radio" value="security"<%= attr("id", id..'.1') .. attr("name", id) .. attr("checked", ((self:cfgvalue() or self.default) == "security") and "checked") %> /> <input data-update="change" type="radio" value="security"<%= attr("id", id..'.1') .. attr("name", id) .. attr("checked", ((self:cfgvalue() or self.default) == "security") and "checked") %>>
<label<%= attr("for", id..'.1')%>></label> <label<%= attr("for", id..'.1')%>></label>
</div> </div>
<div class="gluon-value-field-long"> <div class="gluon-value-field-long">
<label<%= attr("for", id..'.1') %> class="gluon-value-title"><%:Security mode%></label> <label<%= attr("for", id..'.1') %> class="gluon-value-title"><%:Security mode%></label>
<br /> <br>
<%| translate( <%| translate(
'In security mode, the mesh VPN uses an encrypted tunnel to connect to the VPN servers. ' .. 'In security mode, the mesh VPN uses an encrypted tunnel to connect to the VPN servers. ' ..
'The encryption ensures that it is impossible for your internet access provider to see what ' .. 'The encryption ensures that it is impossible for your internet access provider to see what ' ..
'data is exchanged over your node.' 'data is exchanged over your node.'
) %> ) %>
<br /> <br>
</div> </div>
<div class="gluon-value-field-long-after"></div> <div class="gluon-value-field-long-after"></div>
</div> </div>
<div class="gluon-value gluon-value-last"> <div class="gluon-value gluon-value-last">
<div class="gluon-value-title"> <div class="gluon-value-title">
<input data-update="change" type="radio" value="performance"<%= attr("id", id..'.2') .. attr("name", id) .. attr("checked", ((self:cfgvalue() or self.default) == "performance") and "checked") %> /> <input data-update="change" type="radio" value="performance"<%= attr("id", id..'.2') .. attr("name", id) .. attr("checked", ((self:cfgvalue() or self.default) == "performance") and "checked") %>>
<label<%= attr("for", id..'.2')%>></label> <label<%= attr("for", id..'.2')%>></label>
</div> </div>
<div class="gluon-value-field-long"> <div class="gluon-value-field-long">
<label<%= attr("for", id..'.2') %> class="gluon-value-title"><%:Performance mode%></label> <label<%= attr("for", id..'.2') %> class="gluon-value-title"><%:Performance mode%></label>
<br /> <br>
<%| translate( <%| translate(
'In performance mode, no encryption is used. This usually allows for higher throughput, but the data exchanged over your node is not ' .. 'In performance mode, no encryption is used. This usually allows for higher throughput, but the data exchanged over your node is not ' ..
'protected against eavesdropping.' 'protected against eavesdropping.'
) %> ) %>
<br /> <br>
</div> </div>
<div class="gluon-value-field-long-after"></div> <div class="gluon-value-field-long-after"></div>
</div> </div>

View File

@ -15,6 +15,6 @@
attr("name", id) .. attr("name", id) ..
attr("size", self.size) .. attr("size", self.size) ..
attr("placeholder", self.placeholder) attr("placeholder", self.placeholder)
%> /><br /> %>><br>
<% end %> <% end %>
</div> </div>

View File

@ -1,5 +1,5 @@
<form method="post" enctype="multipart/form-data" action="<%|url(request)%>" data-update="reset"> <form method="post" enctype="multipart/form-data" action="<%|url(request)%>" data-update="reset">
<input type="hidden" name="<%=id%>" value="1" /> <input type="hidden" name="<%=id%>" value="1">
<div class="gluon-form" id="form-<%=id%>"> <div class="gluon-form" id="form-<%=id%>">
<% if self.title and #self.title > 0 then %><h2 name="content"><%|self.title%></h2><% end %> <% if self.title and #self.title > 0 then %><h2 name="content"><%|self.title%></h2><% end %>
@ -16,12 +16,12 @@
<%- if self.submit ~= false then %> <%- if self.submit ~= false then %>
<input class="gluon-button gluon-button-submit" type="submit" value=" <input class="gluon-button gluon-button-submit" type="submit" value="
<%- if not self.submit then -%><%-:Save-%><%-else-%><%|self.submit%><%end-%> <%- if not self.submit then -%><%-:Save-%><%-else-%><%|self.submit%><%end-%>
" /> ">
<% end %> <% end %>
<%- if self.reset ~= false then %> <%- if self.reset ~= false then %>
<input class="gluon-button gluon-button-reset" type="reset" value=" <input class="gluon-button gluon-button-reset" type="reset" value="
<%- if not self.reset then -%><%-:Reset-%><%-else-%><%|self.reset%><%end-%> <%- if not self.reset then -%><%-:Reset-%><%-else-%><%|self.reset%><%end-%>
" /> ">
<% end %> <% end %>
</div> </div>
</form> </form>

View File

@ -1,5 +1,5 @@
<input data-update="click change" type="checkbox" value="1"<%= <input data-update="click change" type="checkbox" value="1"<%=
attr("id", id) .. attr("name", id) .. attr("id", id) .. attr("name", id) ..
attr("checked", self:cfgvalue() and "checked") attr("checked", self:cfgvalue() and "checked")
%> /> %>>
<label<%= attr("for", id)%>></label> <label<%= attr("for", id)%>></label>

View File

@ -1,5 +1,5 @@
<% <%
local br = self.orientation == "horizontal" and '&#160;&#160;&#160;' or '<br />' local br = self.orientation == "horizontal" and '&#160;&#160;&#160;' or '<br>'
local entries = self:entries() local entries = self:entries()
%> %>
@ -35,7 +35,7 @@
attr("name", id) .. attr("name", id) ..
attr("value", entry.key) .. attr("value", entry.key) ..
attr("checked", (self:cfgvalue() == entry.key) and "checked") attr("checked", (self:cfgvalue() == entry.key) and "checked")
%> /> %>>
<label<%= attr("for", id.."."..entry.key)%>></label> <label<%= attr("for", id.."."..entry.key)%>></label>
<%|entry.value%> <%|entry.value%>
</label> </label>

View File

@ -8,4 +8,4 @@
attr("maxlength", self.maxlength) .. attr("maxlength", self.maxlength) ..
attr("data-type", self.datatype) .. attr("data-type", self.datatype) ..
attr("data-optional", self.datatype and self.optional) attr("data-optional", self.datatype and self.optional)
%> /> %>>

View File

@ -7,7 +7,7 @@
<%- end -%> <%- end -%>
<% if self.subtemplate then include(self.subtemplate) end %> <% if self.subtemplate then include(self.subtemplate) end %>
<% if self.description and #self.description > 0 then -%> <% if self.description and #self.description > 0 then -%>
<br /> <br>
<div class="gluon-value-description"> <div class="gluon-value-description">
<%=self.description%> <%=self.description%>
</div> </div>

View File

@ -1,7 +1,6 @@
<div id="<%=id%>" class="gluon-osm-map" style="display: none"></div> <div id="<%=id%>" class="gluon-osm-map" style="display: none"></div>
<script type="text/javascript" src="/static/gluon-web-osm.js"></script> <script type="text/javascript" src="/static/gluon-web-osm.js"></script>
<script type="text/javascript"> <script type="text/javascript">
//<![CDATA[
(function() { (function() {
var elMap = document.getElementById(<%=json(id)%>); var elMap = document.getElementById(<%=json(id)%>);
var wrapper = elMap.parentNode; var wrapper = elMap.parentNode;
@ -42,5 +41,4 @@
}); });
}); });
})(); })();
//]]>
</script> </script>

View File

@ -56,15 +56,15 @@ msgstr "WLAN"
msgid "" msgid ""
"You can enable or disable your node's client and mesh network SSIDs here. " "You can enable or disable your node's client and mesh network SSIDs here. "
"Please don't disable the mesh network without a good reason, so other nodes " "Please don't disable the mesh network without a good reason, so other nodes "
"can mesh with yours.<br /><br />It is also possible to configure the WLAN " "can mesh with yours.<br><br>It is also possible to configure the WLAN "
"adapters transmission power here. Please note that the transmission power " "adapters transmission power here. Please note that the transmission power "
"values include the antenna gain where available, but there are many devices " "values include the antenna gain where available, but there are many devices "
"for which the gain is unavailable or inaccurate." "for which the gain is unavailable or inaccurate."
msgstr "" msgstr ""
"In diesem Abschnitt hast du die Möglichkeit, die SSIDs des Client- und des " "In diesem Abschnitt hast du die Möglichkeit, die SSIDs des Client- und des "
"Mesh-Netzes zu aktivieren bzw. deaktivieren. Bitte lass die SSID des Mesh-" "Mesh-Netzes zu aktivieren bzw. deaktivieren. Bitte lass die SSID des Mesh-"
"Netzes aktiviert, damit sich andere Knoten mit deinem verbinden können.<br /" "Netzes aktiviert, damit sich andere Knoten mit deinem verbinden können.<br"
"><br />Außerdem kann hier die Sendeleistung des WLAN-Adapters konfiguriert " "><br>Außerdem kann hier die Sendeleistung des WLAN-Adapters konfiguriert "
"werden. Wenn möglich, ist in den Werten der Sendeleistung der Antennengewinn " "werden. Wenn möglich, ist in den Werten der Sendeleistung der Antennengewinn "
"enthalten; diese Werte sind allerdings für viele Geräte nicht verfügbar oder " "enthalten; diese Werte sind allerdings für viele Geräte nicht verfügbar oder "
"fehlerhaft." "fehlerhaft."

View File

@ -51,14 +51,14 @@ msgstr "Wi-Fi"
msgid "" msgid ""
"You can enable or disable your node's client and mesh network SSIDs here. " "You can enable or disable your node's client and mesh network SSIDs here. "
"Please don't disable the mesh network without a good reason, so other nodes " "Please don't disable the mesh network without a good reason, so other nodes "
"can mesh with yours.<br /><br />It is also possible to configure the WLAN " "can mesh with yours.<br><br>It is also possible to configure the WLAN "
"adapters transmission power here. Please note that the transmission power " "adapters transmission power here. Please note that the transmission power "
"values include the antenna gain where available, but there are many devices " "values include the antenna gain where available, but there are many devices "
"for which the gain is unavailable or inaccurate." "for which the gain is unavailable or inaccurate."
msgstr "" msgstr ""
"Ici vous pouvez activer ou désactiver la SSID du client ou MESH. Pensez a " "Ici vous pouvez activer ou désactiver la SSID du client ou MESH. Pensez a "
"laisser la SSID du MESH activée pour que les autres nœuds puissent se " "laisser la SSID du MESH activée pour que les autres nœuds puissent se "
"connecter. <br /><br />Ici vous pouvez aussi configurer la puissance " "connecter. <br><br>Ici vous pouvez aussi configurer la puissance "
"d'émmission se votre Wi-Fi. Prenez note que les valeurs fournies pour la " "d'émmission se votre Wi-Fi. Prenez note que les valeurs fournies pour la "
"puissance de transmission prennent en compte les gains fournis par " "puissance de transmission prennent en compte les gains fournis par "
"l'antenne, et que ces valeurs ne sont pas toujours disponibles ou exactes." "l'antenne, et que ces valeurs ne sont pas toujours disponibles ou exactes."

View File

@ -42,7 +42,7 @@ msgstr ""
msgid "" msgid ""
"You can enable or disable your node's client and mesh network SSIDs here. " "You can enable or disable your node's client and mesh network SSIDs here. "
"Please don't disable the mesh network without a good reason, so other nodes " "Please don't disable the mesh network without a good reason, so other nodes "
"can mesh with yours.<br /><br />It is also possible to configure the WLAN " "can mesh with yours.<br><br>It is also possible to configure the WLAN "
"adapters transmission power here. Please note that the transmission power " "adapters transmission power here. Please note that the transmission power "
"values include the antenna gain where available, but there are many devices " "values include the antenna gain where available, but there are many devices "
"for which the gain is unavailable or inaccurate." "for which the gain is unavailable or inaccurate."

View File

@ -29,7 +29,7 @@ local f = Form(translate("WLAN"))
f:section(Section, nil, translate( f:section(Section, nil, translate(
"You can enable or disable your node's client and mesh network " "You can enable or disable your node's client and mesh network "
.. "SSIDs here. Please don't disable the mesh network without " .. "SSIDs here. Please don't disable the mesh network without "
.. "a good reason, so other nodes can mesh with yours.<br /><br />" .. "a good reason, so other nodes can mesh with yours.<br><br>"
.. "It is also possible to configure the WLAN adapters transmission power " .. "It is also possible to configure the WLAN adapters transmission power "
.. "here. Please note that the transmission power values include the antenna gain " .. "here. Please note that the transmission power values include the antenna gain "
.. "where available, but there are many devices for which the gain is unavailable or inaccurate." .. "where available, but there are many devices for which the gain is unavailable or inaccurate."

View File

@ -78,13 +78,6 @@ end
function Http:prepare_content(mime) function Http:prepare_content(mime)
if self.headers["content-type"] then return end if self.headers["content-type"] then return end
if mime == "application/xhtml+xml" then
local accept = self:getenv("HTTP_ACCEPT")
if not accept or not accept:find("application/xhtml+xml", nil, true) then
mime = "text/html; charset=UTF-8"
end
self:header("Vary", "Accept")
end
self:header("Content-Type", mime) self:header("Content-Type", mime)
end end