diff --git a/applications/luci-olsr-services/luasrc/view/freifunk-services/services.htm b/applications/luci-olsr-services/luasrc/view/freifunk-services/services.htm index c9385cd576..3b6a523d01 100644 --- a/applications/luci-olsr-services/luasrc/view/freifunk-services/services.htm +++ b/applications/luci-olsr-services/luasrc/view/freifunk-services/services.htm @@ -1,8 +1,20 @@ -<%+header%> +<%# +LuCI - Lua Configuration Interface + +Copyright 2011 Manuel Munz + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +-%> <% local fs = require "luci.fs" local utl = require "luci.util" +local i = 1 -- check if nameservice plugin is enabled and where to find the services file local has_services = false @@ -22,7 +34,6 @@ uci:foreach("olsrd", "LoadPlugin", function(s) end end) - function fetch_services() local rawdata = fs.readfile(services_file) @@ -48,40 +59,93 @@ function fetch_services() return tables end +local table = fetch_services() + +if luci.http.formvalue("status") == "1" then + local rv = {} + for k, line in ipairs(table) do + local field = utl.split(line, "[#|]", split, true) + local url,descr,origin = pcdata(field[1]),pcdata(field[3]),pcdata(field[4]) + local rs = i + rv[#rv+1] = { + url = url, + origin = origin, + descr = descr, + rs = rs + } + if i == 1 then i = 0 elseif i == 0 then i = 1 end + end + luci.http.prepare_content("application/json") + luci.http.write_json(rv) + return +end + %> <% if has_services then %> -
-

<%:Services%>

-
-
-
- - - - - - <% table=fetch_services() - local i = 1 - for k, line in ipairs(table) do - local field = {} - -- split line at # and |, 1=url, 2=proto, 3=description, 4=source - local field = utl.split(line, "[#|]", split, true) - local url,descr,origin = pcdata(field[1]),pcdata(field[3]),pcdata(field[4]) - %> - - - - - <% if i == 1 then i = 0 elseif i == 0 then i = 1 end %> - <%end%> -
<%:Url%><%:Source%>
<%=descr%><%=origin%>
-
-
-
+<%+header%> + + + + + + + +

<%:Services%>

+ +
+ <%:Internal services%> + + + + + + + + <% + for k, line in ipairs(table) do + local field = {} + -- split line at # and |, 1=url, 2=proto, 3=description, 4=source + local field = utl.split(line, "[#|]", split, true) + local url,descr,origin = pcdata(field[1]),pcdata(field[3]),pcdata(field[4]) + %> + + + + + + <% if i == 1 then i = 0 elseif i == 0 then i = 1 end + end %> + +
<%:Url%><%:Source%>
<%=descr%><%=origin%>

<%=last_update%> +
<%else%> <%:No services can be shown, because olsrd is not running or the olsrd-nameservice Plugin is not loaded.%>