-%>
<%+header%>
-<h1><%:olsrd%></h1>
+<h2><a id="content" name="content"><%:olsrd%></a></h2>
<p class="error"><%:olsrd_error%></p>
<p><%:olsrd_error_desc%></p>
<%+footer%>
-%>
<%+header%>
-<h1><%:olsrd_hna2%></h1>
+<h2><a id="content" name="content"><%:olsrd_hna2%></a></h2>
<p><%:olsrd_hna_desc%></p>
<br />
<table class="smalltext" cellspacing="0" cellpadding="6">
-%>
<%+header%>
-<h1><%:olsrd_links%></h1>
+<h2><a id="content" name="content"><%:olsrd_links%></a></h2>
<p><%:olsrd_links_desc%></p>
<br />
<table class="smalltext" cellspacing="0" cellpadding="6">
-%>
<%+header%>
-<h1><%:olsrd_mid%></h1>
+<h2><a id="content" name="content"><%:olsrd_mid%></a></h2>
<p><%:olsrd_mid_desc%></p>
<br />
<table class="smalltext" cellspacing="0" cellpadding="6">
-%>
<%+header%>
-<h1><%:olsrd_routes%></h1>
+<h2><a id="content" name="content"><%:olsrd_routes%></a></h2>
<p><%:olsrd_routes_desc%></p>
<br />
<table class="smalltext" cellspacing="0" cellpadding="6">
-%>
<%+header%>
-<h1><%:olsrd_topology%></h1>
+<h2><a id="content" name="content"><%:olsrd_topology%></a></h2>
<p><%:olsrd_topology_desc%></p>
<br />
<table class="smalltext" cellspacing="0" cellpadding="6">
-%>
<% local c = luci.model.uci.cursor():get_all("freifunk", "community") %>
-<h1>Willkommen!</h1>
+<h2><a id="content" name="content">Willkommen!</a></h2>
<p>
Du bist jetzt mit dem freien Funknetz
<a href="<%=c.homepage%>"><%=c.name%></a> verbunden.<br />
-%>
<%+header%>
-<h1><%:stat_statistics Statistics%></h1>
+<h2><a id="content" name="content"><%:stat_statistics Statistics%></a></h2>
<p><%:stat_desc The statistics package is based on <a href="http://collectd.org/index.shtml">Collectd</a>
and uses <a href="http://oss.oetiker.ch/rrdtool/">RRD Tool</a> to render diagram images from collected data.%></p>
-%>
<%+header%>
-<h1><%:stat_networkplugins Network plugins%></h1>
+<h2><a id="content" name="content"><%:stat_networkplugins Network plugins%></a></h2>
<p><%:stat_networkplugins_desc Network plugins are used to collect information
about open tcp connections, interface traffic, iptables rules etc.%></p>
-%>
<%+header%>
-<h1><%:stat_outputplugins Output plugins%></h1>
+<h2><a id="content" name="content"><%:stat_outputplugins Output plugins%></a></h2>
<p><%:stat_outputplugins_desc Output plugins provide different possibilities to store collected data.
It is possible to enable multiple plugin at one, for example to store collected data in rrd databases
-%>
<%+header%>
-<h1><%:stat_systemplugins System plugins%></h1>
+<h2><a id="content" name="content"><%:stat_systemplugins System plugins%></a></h2>
<p><%:stat_systemplugins_desc System plugins collecting values about system state and ressource usage on the device.:%>
<ul>
-%>
<%+header%>
-<h1><%:stat_statistics Statistics%></h1>
+<h2><a id="content" name="content"><%:stat_statistics Statistics%></a></h2>
<form action="" method="get">
<select name="timespan">
-%>
<div class="cbi-map" id="cbi-<%=self.config%>">
- <h1><%=self.title%></h1>
+ <h2><a id="content" name="content"><%=self.title%></a></h2>
<div class="cbi-map-descr"><%=self.description%></div>
<%- if self._apply then -%>
<fieldset class="cbi-section">
<input type="hidden" name="cbi.submit" value="1" />
</div>
<div class="cbi-map" id="cbi-<%=self.config%>">
- <h1><%=self.title%></h1>
+ <h2><a id="content" name="content"><%=self.title%></a></h2>
<div class="cbi-map-descr"><%=self.description%></div>
<% self:render_children() %>
<br />
-%>
<%+header%>
-<h1><%:about%> LuCI</h1>
+<h2><a id="content" name="content"><%:about%> LuCI</a></h2>
<p><%:c_lucidesc%></p>
<p><strong><%:c_projecthome%>: </strong><a href="http://luci.freifunk-halle.net">luci.freifunk-halle.net</a></p>
-%>
<%+header%>
-<h1>404 Not Found</h1>
+<h2><a id="content" name="content">404 Not Found</a></h2>
<p>Sorry, the object you requested was not found.</p>
<tt>Unable to dispatch: <%=luci.http.request.env.PATH_INFO%></tt>
<%+footer%>
\ No newline at end of file
-%>
<%+header%>
-<h1>500 Internal Server Error</h1>
+<h2><a id="content" name="content">500 Internal Server Error</a></h2>
<p>Sorry, the server encountered an unexpected error.</p>
<pre class="error500"><%=message%></pre>
<%+footer%>
<form method="post" action="<%=REQUEST_URI%>">
<div class="cbi-map">
- <h1><%:sysauth_head%></h1>
+ <h2><a id="content" name="content"><%:sysauth_head%></a></h2>
<div class="cbi-map-descr">
<%:sysauth_prompt%>
<%- if fuser then %>
-%>
<%+header%>
-<h1><%:a_i_i_hello%></h1>
+<h2><a id="content" name="content"><%:a_i_i_hello%></a></h2>
<p><%:a_i_i_admin1%></p>
<p><%:a_i_i_admin2%><br />
<%:a_i_i_admin3%></p>
-%>
<%+header%>
-<h1><%:services%></h1>
+<h2><a id="content" name="content"><%:services%></a></h2>
<p><%:a_srv_services1%></p>
<p><%:a_srv_services2%></p>
<%+footer%>
\ No newline at end of file
-%>
<%+header%>
-<h1><%:status%></h1>
+<h2><a id="content" name="content"><%:status%></a></h2>
<p><%:a_st_i_status1%></p>
<p><%:a_st_i_status2%></p>
<%+footer%>
\ No newline at end of file
-%>
<%+header%>
-<h1><%:status%></h1>
-<h2><%:syslog%></h2>
+<h2><a id="content" name="content"><%:status%></a></h2>
+<h3><%:syslog%></h3>
<code><%=luci.util.pcdata(syslog)%></code>
<%+footer%>
-%>
<%+header%>
-<h1><%:system%></h1>
+<h2><a id="content" name="content"><%:system%></a></h2>
<br />
<p><% if msg then %><%=msg%><% else %><%:a_s_applyreboot1%><% end %></p>
<p><%:a_s_reboot_running%></p>
-%>
<%+header%>
-<h1><%:system%></h1>
-<h2><%:a_s_backup%></h2>
+<h2><a id="content" name="content"><%:system%></a></h2>
+<h3><%:a_s_backup%></h3>
<p><%:a_s_backup1%></p>
<br />
<div>
end
-%>
<%+header%>
-<h1><%:system%></h1>
-<h2><%:a_s_packages%></h2>
+<h2><a id="content" name="content"><%:system%></a></h2>
+<h3><%:a_s_packages%></h3>
<br />
-%>
<%+header%>
-<h1><%:system%></h1>
-<h2><%:reboot%></h2>
+<h2><a id="content" name="content"><%:system%></a></h2>
+<h3><%:reboot%></h3>
<p><%:a_s_reboot1%></p>
<%-
local c = require("luci.model.uci").cursor():changes()
-%>
<%+header%>
-<h1><%:system%></h1>
-<h2><%:a_s_flash%></h2>
+<h2><a id="content" name="content"><%:system%></a></h2>
+<h3><%:a_s_flash%></h3>
<p><%:a_s_flash_upgrade1%></p>
<br />
<% if sysupgrade and not ret then %>
-%>
<%+header%>
-<h1><%:config%></h1>
+<h2><a id="content" name="content"><%:config%></a></h2>
<p><%:uci_applied%>:</p>
<code><%=(changes or "-")%>
-%>
<%+header%>
-<h1><%:config%></h1>
-<h2><%:changes%></h2>
+<h2><a id="content" name="content"><%:config%></a></h2>
+<h3><%:changes%></h3>
<code><%=changes%></code>
<br /><br />
<form class="inline" method="get" action="<%=controller%>/admin/uci/apply">
-%>
<%+header%>
-<h1><%:config%></h1>
+<h2><a id="content" name="content"><%:config%></a></h2>
<p><%:uci_reverted%>:</p>
<code><%=(changes or "-")%></code>
<%+footer%>
\ No newline at end of file
-%>
<%+header%>
-<h1><%:system%></h1>
+<h2><a id="content" name="content"><%:system%></a></h2>
<br />
<p><% if msg then %><%=msg%><% else %><%:a_s_applyreboot1%><% end %></p>
<p><%:a_s_reboot_running%></p>
-%>
<%+header%>
-<h1><%:system%></h1>
-<h2><%:a_s_backup%></h2>
+<h2><a id="content" name="content"><%:system%></a></h2>
+<h3><%:a_s_backup%></h3>
<p><%:a_s_backup1%></p>
<br />
<div>
$Id$
-%>
-<h1><%:a_i_i_hello%></h1>
+<h2><a id="content" name="content"><%:a_i_i_hello%></a></h2>
<p><%:a_i_i_admin1%></p>
<p><%:a_i_i_admin2%><br />
<%:a_i_i_admin3%></p>
-%>
<%+header%>
-<h1><%:system%></h1>
-<h2><%:reboot%></h2>
+<h2><a id="content" name="content"><%:system%></a></h2>
+<h3><%:reboot%></h3>
<p><%:a_s_reboot1%></p>
<%-
local c = require("luci.model.uci").cursor():changes()
-%>
<%+header%>
-<h1><%:config%></h1>
+<h2><a id="content" name="content"><%:config%></a></h2>
<p><%:uci_applied%>:</p>
<code><%=(changes or "-")%>
-%>
<%+header%>
-<h1><%:config%></h1>
-<h2><%:changes%></h2>
+<h2><a id="content" name="content"><%:config%></a></h2>
+<h3><%:changes%></h3>
<code><%=changes%></code>
<br /><br />
<form class="inline" method="get" action="<%=controller%>/mini/uci/apply">
-%>
<%+header%>
-<h1><%:config%></h1>
+<h2><a id="content" name="content"><%:config%></a></h2>
<p><%:uci_reverted%>:</p>
<code><%=(changes or "-")%></code>
<%+footer%>
\ No newline at end of file
-%>
<%+header%>
-<h1><%:system%></h1>
-<h2><%:a_s_flash%></h2>
+<h2><a id="content" name="content"><%:system%></a></h2>
+<h3><%:a_s_flash%></h3>
<p><%:a_s_flash_upgrade1%></p>
<br />
<% if sysupgrade and not ret then %>
-%>
<%+header%>
<% local contact = luci.model.uci.cursor():get_all("freifunk", "contact") %>
-<h1><%:contact%></h1>
+<h2><a id="content" name="content"><%:contact%></a></h2>
<table cellspacing="0" cellpadding="6">
<tr><th><%:ff_nickname%>:</th><td><%=contact.nickname%></td></tr>
<tr><th><%:ff_name%>:</th><td><%=contact.name%></td></tr>
-%>
<%+header%>
<% local ff = luci.model.uci.cursor():get_all("freifunk") %>
-<h1><%:ff_hellonet%> <%=ff.community.name or 'Freifunk Deutschland'%>!</h1>
+<h2><a id="content" name="content"><%:ff_hellonet%> <%=ff.community.name or 'Freifunk Deutschland'%>!</a></h2>
<p><%:ff_public1%><br />
<%:ff_public2%> <%=luci.sys.hostname()%>. <%:ff_public3%>
<a href="<%=controller%>/public/index/contact"> <%=ff.contact.nickname%></a>.</p>
white-space: pre;
}
-div#content ul {
+div#maincontent ul {
margin-left: 2em;
}
float: right;
}
-#content {
+#maincontent {
clear: both;
width: 90%;
margin: 0 auto;
font-size: 80%;
}
-#content h1 {
+#maincontent h2 {
margin: 0.25em 0 0.5em 0;
font-size: 150%;
font-weight: normal;
}
-#content h2 {
+#maincontent h3 {
margin: 0.5em 0;
font-size: 120%;
font-weight: normal;
text-decoration: underline;
}
-#content p {
+#maincontent p {
margin-bottom: 1em;
}
width: 200% !important;
}
-* html div#content {
+* html div#maincontent {
margin-left: -80% !important;
width: 160% !important;
}
<br class="clear" />
</div>
-<div id="content">
+<div id="maincontent">
min-height: 710px;
}
-div#content ul {
+div#maincontent ul {
margin-left: 2em;
}
}
-#content {
+#maincontent {
clear: both;
width: 98%;
margin: 0 auto;
border-top:1px solid #D2A800;
}
-#content h1 {
+#maincontent h2 {
margin: 0.25em 0 0.5em 0;
font-size: 150%;
font-weight: normal;
}
-#content h2 {
+#maincontent h3 {
margin: 0.5em 0;
font-size: 120%;
font-weight: normal;
text-decoration: underline;
}
-#content p {
+#maincontent p {
margin-bottom: 1em;
}
width: 200% !important;
}
-* html div#content {
+* html div#maincontent {
margin-left: -80% !important;
width: 160% !important;
}
<br class="clear" />
</div>
-<div id="content">
+<div id="maincontent">
min-height: 710px;
}
-div#content ul {
+div#maincontent ul {
margin-left: 2em;
}
}
-#content {
+#maincontent {
clear: both;
width: 98%;
margin: 0 auto;
border-top:1px solid #D2A800;
}
-#content h1 {
+#maincontent h2 {
margin: 0.25em 0 0.5em 0;
font-size: 150%;
font-weight: normal;
}
-#content h2 {
+#maincontent h3 {
margin: 0.5em 0;
font-size: 120%;
font-weight: normal;
text-decoration: underline;
}
-#content p {
+#maincontent p {
margin-bottom: 1em;
}
width: 200% !important;
}
-* html div#content {
+* html div#maincontent {
margin-left: -80% !important;
width: 160% !important;
}
<br class="clear" />
</div>
-<div id="content">
+<div id="maincontent">
white-space: pre;
}
-div#content ul {
+div#maincontent ul {
margin-left: 2em;
}
float: right;
}
-#content {
+#maincontent {
clear: both;
width: 80%;
margin: 0 auto;
font-size: 80%;
}
-#content h1 {
+#maincontent h2 {
margin: 0.25em 0 0.5em 0;
font-size: 150%;
font-weight: normal;
}
-#content h2 {
+#maincontent h3 {
margin: 0.5em 0;
font-size: 120%;
font-weight: normal;
text-decoration: underline;
}
-#content p {
+#maincontent p {
margin-bottom: 1em;
}
width: 200% !important;
}
-* html div#content {
+* html div#maincontent {
margin-left: -80% !important;
width: 160% !important;
}
<br class="clear" />
</div>
-<div id="content">
+<div id="maincontent">
@media all {
+html,
body {
background-color: #4a6b7c;
background-image: url(bg.jpg);
background-attachment: fixed;
background-repeat: repeat-x;
color: #ffffff;
+}
+
+body {
font-family: Verdana, Arial, sans-serif;
- font-size: 100%;
+ font-size: 101%;
line-height: 100%;
}
.warning {
color: red;
+ background-color: white;
font-weight: bold;
}
.error {
color: #ff0000;
+ background-color: white;
}
#header {
background-repeat: no-repeat;
background-position: left center;
background-color: #557788;
+ color: #ffffff;
text-align: right;
}
color: #ffffff;
}
+#menubar .warning {
+ color: red;
+ background-color: #557788;
+}
+
#menubar ul.dropdowns {
min-height: 1.8em;
background: #000000;
html #menubar a:link,
html #menubar a:visited {
+ position: relative;
display: block;
padding: 0.5em;
background: #000000;
font-weight: bold;
}
+.lang_de #submenu_mini_system { min-width: 13.3em; }
+* html .lang_de #submenu_mini_system { width: 13.3em; }
+
+.lang_pt-br #submenu_mini_network { min-width: 14em; }
+* html .lang_pt-br #submenu_mini_network { width: 14em; }
+
+.lang_pt-br #submenu_mini_system { min-width: 11.5em; }
+* html .lang_pt-br #submenu_mini_system { width: 11.5em; }
+
+.lang_ru #submenu_mini_system { min-width: 18em; }
+* html .lang_ru #submenu_mini_system { width: 18em; }
+
+.lang_pt-br #submenu_admin_index { min-width: 11em; }
+* html .lang_pt-br #submenu_admin_index { width: 11em; }
+
.lang_ru #submenu_admin_index { min-width: 15.5em; }
* html .lang_ru #submenu_admin_index { width: 15.5em; }
.lang_fr #submenu_admin_system { min-width: 14.5em; }
* html .lang_fr #submenu_admin_system { width: 14.5em; }
+.lang_pt-br #submenu_admin_system { min-width: 11.5em; }
+* html .lang_pt-br #submenu_admin_system { width: 11.5em; }
+
.lang_ru #submenu_admin_system { min-width: 18em; }
* html .lang_ru #submenu_admin_system { width: 18em; }
#submenu_admin_services_chillispot { min-width: 15.5em; }
* html #submenu_admin_services_chillispot { width: 15.5em; }
+#submenu_admin_services_coovachilli { min-width: 15em; }
+* html #submenu_admin_services_coovachilli { width: 15em; }
+
.lang_ru #submenu_admin_network_routes { min-width: 15.3em; }
* html .lang_ru #submenu_admin_network_routes { width: 15.3em; }
.lang_de #submenu_admin_network_firewall { min-width: 16.5em; }
* html .lang_de #submenu_admin_network_firewall { width: 16.5em; }
+.lang_pt-br #submenu_admin_network_firewall { min-width: 15em; }
+* html .lang_pt-br #submenu_admin_network_firewall { width: 15em; }
+
#modemenu {
width: auto;
background: #000000;
font-size: 80%;
}
-#maincontent h1 {
+#maincontent h2 {
margin: 0.25em 0 0.5em 0;
font-size: 150%;
font-weight: normal;
}
-#maincontent h2 {
+#maincontent h3 {
margin: 0.5em 0;
font-size: 120%;
font-weight: normal;
padding: 0.5em 1em;
border: 1px dotted #555555;
background-color: #ffffff;
+ color: #000000;
}
.cbi-section legend {
font-weight: bold;
height: 1em;
padding: 0 0.25em;
+ background-color: transparent;
+ color: #555555;
+}
+
+*+html .cbi-section legend {
+ background-color: #ffffff;
+ color: #555555;
+}
+
+* html .cbi-section legend {
+ background-color: #ffffff;
color: #555555;
}
.cbi-section h3 {
height: 1.5em;
font-size: 90%;
+ background-color: #ffffff;
color: #555555;
}
input[type=submit],
input[type=reset],
-input[type=image],
-label {
+input[type=image] {
cursor: pointer;
}
textarea:focus,
textarea:hover {
background-color: #ffffff;
+ color: #000000;
}
select,
input.cbi-input-user {
background: url('../resources/cbi/user.gif') no-repeat scroll 1px center;
background-color: inherit;
+ color: #000000;
padding-left: 17px;
}
input.cbi-input-key {
background: url('../resources/cbi/key.gif') no-repeat scroll 1px center;
background-color: inherit;
+ color: #000000;
padding-left: 17px;
}
input.cbi-input-find {
background: url('../resources/cbi/find.gif') no-repeat scroll 1px center;
background-color: inherit;
+ color: #000000;
padding-left: 17px;
}
input.cbi-input-reload {
background: url('../resources/cbi/reload.gif') no-repeat scroll 1px center;
background-color: inherit;
+ color: #000000;
padding-left: 17px;
}
input.cbi-button-add {
background: url('../resources/cbi/add.gif') no-repeat scroll 1px center;
background-color: inherit;
+ color: #000000;
padding-left: 17px;
padding-right: 1px;
}
input.cbi-button-fieldadd {
background: url(../resources/cbi/fieldadd.gif) no-repeat scroll 1px center;
background-color: inherit;
+ color: #000000;
padding-left: 17px;
padding-right: 1px;
}
input.cbi-button-reset {
background: url('../resources/cbi/reset.gif') no-repeat scroll 1px center;
background-color: inherit;
+ color: #000000;
padding-left: 17px;
padding-right: 1px;
}
input.cbi-button-save {
background: url('../resources/cbi/save.gif') no-repeat scroll 1px center;
background-color: inherit;
+ color: #000000;
padding-left: 17px;
padding-right: 1px;
}
input.cbi-button-apply {
background: url('../resources/cbi/apply.gif') no-repeat scroll 1px center;
background-color: inherit;
+ color: #000000;
padding-left: 17px;
padding-right: 1px;
}
div.cbi-section-remove input {
background: url('../resources/cbi/remove.gif') no-repeat scroll 1px center;
background-color: inherit;
+ color: #000000;
padding-left: 17px;
padding-right: 1px;
}
table.smalltext {
background: #f5f5f5;
+ color: #000000;
border-top: 1px solid #666666;
border-right: 1px solid #666666;
border-bottom: 1px solid #666666;
table.smalltext tr:hover td {
background-color: #bbddee;
+ color: #000000;
}
table.smalltext tr th {
border-left: 1px solid #666666;
}
-.cbi-rowstyle-1 {
+table.cbi-section-table .cbi-rowstyle-1,
+table.cbi-section-table .cbi-rowstyle-1 * {
background-color: #eeeeff;
+ color: #000000;
}
-.cbi-rowstyle-2 {
+.cbi-section .cbi-rowstyle-1 h3 {
+ background-color: #eeeeff;
+ color: #555555;
+}
+.cbi-rowstyle-2 {
}
div.cbi-value {
div.cbi-value:hover {
background: #f8f8f8;
-}
-
-div.cbi-value:last-child {
- border: none;
+ color: #000000;
}
.cbi-value-title {
div.cbi-value-field {
width: 58%;
- margin: 0.25em 0 0.25em 40%;
+ margin-left: 40%;
+ padding: 0.25em 0;
}
div.cbi-value-description {
}
div.cbi-optionals {
- margin: 0.5em 0;
- padding: 0 0.25em;
+ padding: 0.25em;
+ border-bottom: 1px dotted #bbbbbb;
}
div.cbi-section-remove {
.cbi-section-node {
clear: both;
- border: 1px dotted #bbbbbb;
+ border-top: 1px dotted #bbbbbb;
+ border-left: 1px dotted #bbbbbb;
+ border-right: 1px dotted #bbbbbb;
+ border-bottom: none;
padding-bottom: 0;
}
+.cbi-section-node table div {
+ padding-bottom: 0;
+ border-bottom: none;
+}
+
.cbi-section-node div.cbi-section-table-row {
margin: 0.25em;
}
div.cbi-error {
font-size: 95%;
font-weight: bold;
- color: #FF0000;
+ color: #ff0000;
+ background-color: #ffffff;
}
td.cbi-value-error {
- border-color: red !important;
+ border-color: red;
}
.cbi-value-error input,
.cbi-value-error select {
- color: red !important;
- background-color: #FFCCCC;
+ color: red;
+ background-color: #ffcccc;
}
.cbi-section-error {
color: red;
+ background-color: white;
font-size: 95%;
border: 1px dotted red;
margin: 3px;
.luci a:link,
.luci a:visited {
+ background-color: transparent;
color: #666666;
text-decoration: none;
font-size: 70%;
.error500 {
white-space: normal;
- border: 1px dotted #FF0000;
- background-color: #FFFFFF;
+ border: 1px dotted #ff0000;
+ background-color: #ffffff;
+ color: #000000;
padding: 0.5em;
}
#memorybar {
- width:200px;
- height:8px;
- border:1px solid #bbb;
- background-color:red
+ width: 200px;
+ height: 8px;
+ border: 1px solid #bbb;
+ color: black;
+ background-color: red;
}
#memfree, #membuffers, #memcached {
- float:right;
- border:1px solid #bbb;
- height:6px;
+ float: right;
+ border: 1px solid #bbb;
+ height: 6px;
}
#memfree {
background-color: green;
+ color: black;
}
#membuffers {
background-color: yellow;
+ color: black;
}
#memcached {
- background-color: orange;
+ background-color: #ffa500;
+ color: black;
}
<script type="text/javascript" src="<%=media%>/Dropdowns.js"></script>
<title><%=striptags( hostname .. ( (node and node.title) and ' - ' .. node.title or '')) %> - LuCI</title>
</head>
-<body class="lang_<%=luci.config.main.lang%>">
+<body class="lang_<%=luci.i18n.context.lang%>">
<p class="skiplink">
<span id="skiplink1"><a href="#navigation"><%:skiplink1 Skip to navigation%></a></span>