summaryrefslogtreecommitdiffhomepage
path: root/applications/luci-app-olsr/luasrc/view/status-olsr/hna.htm
blob: 5ea7b74e4d30d516389df16b5df308115e09694f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
<%#
 Copyright 2008 Steven Barth <steven@midlink.org>
 Copyright 2008 Jo-Philipp Wich <jow@openwrt.org>
 Copyright 2011 Manuel Munz <freifunk at somakoma dot de>
 Licensed to the public under the Apache License 2.0.
-%>

<%
local i = 1

if luci.http.formvalue("status") == "1" then
	local rv = {}
	for k, hna in ipairs(hna) do
		rv[#rv+1] = {
			proto = hna["proto"],
			destination = hna["destination"],
			genmask = hna["genmask"],
			gateway = hna["gateway"],
			hostname = hna["hostname"],
			validityTime = hna["validityTime"]
			}
	end
	luci.http.prepare_content("application/json")
	luci.http.write_json(rv)
	return
end
%>

<%+header%>

<script type="text/javascript" src="<%=resource%>/cbi.js"></script>
<script type="text/javascript">//<![CDATA[
XHR.poll(10, '<%=REQUEST_URI%>', { status: 1 },
	function(x, info)
	{
	var hnadiv = document.getElementById('olsrd_hna');
	if (hnadiv)
	{
		var s = '';
		for (var idx = 0; idx < info.length; idx++)
		{
			var hna = info[idx];
			var linkgw = ''
			s += '<tr class="cbi-section-table-row cbi-rowstyle-'+(1 + (idx % 2))+' proto-' + hna.proto + '">'
			if (hna.proto == '6') {
				linkgw = '<a href="http://[' + hna.gateway + ']/cgi-bin-status.html">' + hna.gateway + '</a>'
			} else {
				linkgw = '<a href="http://' + hna.gateway + '/cgi-bin-status.html">' + hna.gateway + '</a>'
			}

			if (hna.validityTime != undefined) {
				validity = hna.validityTime + 's'
			} else {
				validity = '-'
			}

			if (hna.hostname != undefined) {
				hostname = ' / <a href="http://' + hna.hostname + '/cgi-bin-status.html">' + hna.hostname + '</a>'
			} else {
				hostname = ''
			}

			s += String.format(
                                '<td class="cbi-section-table-cell">%s</td>' +
                                '<td class="cbi-section-table-cell">%s</td>' +
                                '<td class="cbi-section-table-cell">%s</td>', hna.destination + '/' + hna.genmask, linkgw + hostname, validity
                                )
			s += '</tr>'
		}
		hnadiv.innerHTML = s;
	}
}
);
//]]></script>

<h2 name="content"><%:Active host net announcements%></h2>

<div id="togglebuttons"></div>
<fieldset class="cbi-section">

	<legend><%:Overview of currently active OLSR host net announcements%></legend>
	<table class="cbi-section-table">
		<thead>
		<tr class="cbi-section-table-titles">
			<th class="cbi-section-table-cell"><%:Announced network%></th>
			<th class="cbi-section-table-cell"><%:OLSR gateway%></th>
			<th class="cbi-section-table-cell"><%:Validity Time%></th>
		</tr>

		</thead>
		<tbody id="olsrd_hna">
		<% for k, route in ipairs(hna) do %>

		<tr class="cbi-section-table-row cbi-rowstyle-<%=i%> proto-<%=hna[k].proto%>">
			<td class="cbi-section-table-cell"><%=hna[k].destination%>/<%=hna[k].genmask%> </td>
			<td class="cbi-section-table-cell">
				<% if hna[k].proto == '6' then %>
				<a href="http://[<%=hna[k].gateway%>]/cgi-bin-status.html"><%=hna[k].gateway%></a>
				<% else %>
				<a href="http://<%=hna[k].gateway%>/cgi-bin-status.html"><%=hna[k].gateway%></a>
				<% end %>
				<% if hna[k].hostname then %>
				 / <a href="http://<%=hna[k].hostname%>/cgi-bin-status.html"><%=hna[k].hostname%></a>
				<% end %>
			</td>
			<% if hna[k].validityTime then
				validity = hna[k].validityTime .. 's'
			else
				validity = '-'
			end %>

			<td class="cbi-section-table-cell"><%=validity%></td>
		</tr>

		<% i = ((i % 2) + 1)
		end %>
		</tbody>
	</table>
</fieldset>

<%+status-olsr/common_js%>
<%+footer%>