123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111 |
- <%#
- Copyright (C) 2017 Steven Hessing <steven.hessing@gmail.com>
- This is free software, licensed under the GNU General Public License v3.
- /usr/lib/lua/luci/view/clients.htm
- -%>
- <%-
- require "nixio.fs"
- require "os"
- local last_modified = "<boottime>"
- local style = true
- local v
- local devdump
- if nixio.fs.access("/var/lib/noddos/DeviceDump.json") then
- last_modified = os.date("%c", nixio.fs.stat("/var/lib/noddos/DeviceDump.json")['mtime'])
- io.input("/var/lib/noddos/DeviceDump.json")
- t = io.read("*all")
- devdump = luci.jsonc.parse(t)
- io.input("/var/lib/noddos/DeviceProfiles.json")
- t = io.read("*all")
- temp = luci.jsonc.parse(t)
- devicevalues = {}
- for i, v in ipairs(temp) do
- devicevalues[v.DeviceProfileUuid] = v
- end
- end
- -%>
- <%+header%>
- <div class="cbi-map" id="cbi-network">
- <h2 name="content"><%:Clients%></h2>
- <div class="cbi-map-descr"><%:The following clients have been discovered on the network. The last discovery was completed at %><%=last_modified%></div>
- <fieldset class="cbi-section">
- <legend><%:Recognized Clients%></legend>
- <div class="cbi-section-node">
- <div class="table cbi-section-table">
- <div class="tr cbi-section-table-titles">
- <div class="th cbi-section-table-cell"><%:Hostname%></div>
- <div class="th cbi-section-table-cell"><%:IPv4%></div>
- <div class="th cbi-section-table-cell"><%:MAC%></div>
- <div class="th cbi-section-table-cell"><%:Manufacturer%></div>
- <div class="th cbi-section-table-cell"><%:Model%></div>
- <div class="th cbi-section-table-cell"><%:Class%></div>
- </div>
- <%
- for i,v in ipairs(devdump) do
- if v.DeviceProfileUuid ~= "" then
- %>
- <div class="tr cbi-section-table-row cbi-rowstyle-<%=(style and 1 or 2)%>">
- <div class="td cbi-value-field"><%=v.Hostname%></div>
- <div class="td cbi-value-field"><%=v.Ipv4Address%></div>
- <div class="td cbi-value-field"><a href="/cgi-bin/clientdetails?mac=<%=v.MacAddress%>"><%=v.MacAddress%></a></div>
- <div class="td cbi-value-field"><%=devicevalues[v.DeviceProfileUuid].Manufacturer%></div>
- <div class="td cbi-value-field"><%=devicevalues[v.DeviceProfileUuid].Model%></div>
- <div class="td cbi-value-field"><%=devicevalues[v.DeviceProfileUuid].ThingClass%></div>
- </div>
- <%
- style=false
- end
- end
- %>
- </div>
- </div>
- </fieldset>
- <br />
- <fieldset class="cbi-section">
- <legend><%:Unrecognized Clients%></legend>
- <div class="cbi-section-node">
- <div class="table cbi-section-table">
- <div class="tr cbi-section-table-titles">
- <div class="th cbi-section-table-cell"><%:Hostname%></div>
- <div class="th cbi-section-table-cell"><%:IPv4%></div>
- <div class="th cbi-section-table-cell"><%:MAC%></div>
- <div class="th cbi-section-table-cell"><%:Manufacturer%></div>
- <div class="th cbi-section-table-cell"><%:Model%></div>
- <div class="th cbi-section-table-cell"><%:DhcpVendor%></div>
- <div class="th cbi-section-table-cell"><%:DhcpHostname%></div>
- </div>
- <%
- for i,v in ipairs(devdump) do
- if v.DeviceProfileUuid == "" then
- %>
- <div class="tr cbi-section-table-row cbi-rowstyle-<%=(style and 1 or 2)%>">
- <div class="td cbi-value-field"><%=v.Hostname%></div>
- <div class="td cbi-value-field"><%=v.Ipv4Address%></div>
- <div class="td cbi-value-field"><a href="/cgi-bin/clientdetails?mac=<%=v.MacAddress%>"><%=v.MacAddress%></a></div>
- <div class="td cbi-value-field"><%=v.SsdpManufacturer%></div>
- <div class="td cbi-value-field"><%=v.SsdpModelName%></div>
- <div class="td cbi-value-field"><%=v.DhcpVendor1%></div>
- <div class="td cbi-value-field"><%=v.DhcpHostname%></div>
- </div>
- <%
- style=false
- end
- end
- %>
- </div>
- </div>
- </fieldset>
- </div>
- <%+footer%>
|