luci-0.8: merge r4605 and r4606
This commit is contained in:
parent
7253f64bcb
commit
26336c5eda
6 changed files with 122 additions and 1 deletions
Binary file not shown.
After Width: | Height: | Size: 209 B |
Binary file not shown.
After Width: | Height: | Size: 209 B |
|
@ -71,6 +71,9 @@ function index()
|
|||
page.target = cbi("freifunk/contact")
|
||||
page.title = "Kontakt"
|
||||
page.order = 40
|
||||
|
||||
entry({"freifunk", "map"}, template("freifunk-map/frame"), translate("freifunk_map", "Karte"), 50)
|
||||
entry({"freifunk", "map", "content"}, template("freifunk-map/map"), nil, 51)
|
||||
end
|
||||
|
||||
local function fetch_olsrd()
|
||||
|
|
21
modules/freifunk/luasrc/view/freifunk-map/frame.htm
Normal file
21
modules/freifunk/luasrc/view/freifunk-map/frame.htm
Normal file
|
@ -0,0 +1,21 @@
|
|||
<%+header%>
|
||||
|
||||
<%
|
||||
local has_latlon = false
|
||||
local uci = require "luci.model.uci".cursor()
|
||||
uci:foreach("olsrd", "LoadPlugin", function(s)
|
||||
if s.library == "olsrd_nameservice.so.0.3" and s.latlon_file then
|
||||
has_latlon = true
|
||||
end
|
||||
end)
|
||||
%>
|
||||
|
||||
<% if has_latlon then %>
|
||||
<iframe style="width:100%; height:640px; border:none" src="<%=luci.dispatcher.build_url("freifunk/map/content")%>"></iframe>
|
||||
<% else %>
|
||||
<h2><%:freifunk_map_error Map Error%></h2>
|
||||
<p><%:freifunk_map_nodata The OLSRd service is not configured to capture position data from the network.<br />
|
||||
Please make sure that the nameservice plugin is properly configured and that the <em>latlon_file</em> option is enabled.%></p>
|
||||
<% end %>
|
||||
|
||||
<%+footer%>
|
97
modules/freifunk/luasrc/view/freifunk-map/map.htm
Normal file
97
modules/freifunk/luasrc/view/freifunk-map/map.htm
Normal file
|
@ -0,0 +1,97 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<title>Map</title>
|
||||
</head>
|
||||
|
||||
<body style="margin:0">
|
||||
<script src="http://dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=6.1" type="text/javascript"></script>
|
||||
<script type="text/javascript">
|
||||
var alias = new Array;
|
||||
var points = new Array;
|
||||
var unkpos = new Array;
|
||||
var lineid = 0;
|
||||
onload=new Function("if(null!=window.ffmapinit)ffmapinit();");
|
||||
|
||||
function Mid(mainip,aliasip)
|
||||
{
|
||||
alias[aliasip]=mainip;
|
||||
}
|
||||
|
||||
function Node(mainip,lat,lon,ishna,hnaip,name)
|
||||
{
|
||||
points[mainip] = new VELatLong(lat, lon);
|
||||
map.AddPushpin(new VEPushpin(mainip, points[mainip],
|
||||
'<%=luci.config.main.resourcebase%>/freifunk-map/'+(ishna?'hna':'node')+'.gif', 'Node:'+name,
|
||||
'<br><img src="<%=luci.config.main.resourcebase%>/freifunk-map/'+(ishna?'hna':'node')+'.gif">'+
|
||||
'<br>IP:'+mainip+'<br>DefGW:'+hnaip));
|
||||
}
|
||||
|
||||
function Self(mainip,lat,lon,ishna,hnaip,name)
|
||||
{
|
||||
//map.SetDashboardSize(VEDashboardSize.Small);
|
||||
map.LoadMap(new VELatLong(lat, lon), 15, VEMapStyle.Hybrid);
|
||||
map.SetScaleBarDistanceUnit(VEDistanceUnit.Kilometers);
|
||||
map.ShowMiniMap(14, 474);
|
||||
Node(mainip,lat,lon,ishna,hnaip,name);
|
||||
}
|
||||
|
||||
function Link(fromip,toip,lq,nlq,etx)
|
||||
{
|
||||
if (0==lineid && null!=window.ffmapstatic) ffmapstatic();
|
||||
if (null != alias[toip]) toip = alias[toip];
|
||||
if (null != alias[fromip]) fromip = alias[fromip];
|
||||
if (null != points[fromip] && null != points[toip])
|
||||
{
|
||||
var w = 1;
|
||||
if (etx < 4) w++;
|
||||
if (etx < 2) w++;
|
||||
map.AddPolyline(new VEPolyline('id'+lineid, [points[fromip], points[toip]],
|
||||
new VEColor(102,Math.floor(lq*255.0),Math.floor(nlq*255.0),1.0), w));
|
||||
}
|
||||
else
|
||||
{
|
||||
if (null == points[toip]) unkpos[toip] = '';
|
||||
if (null == points[fromip]) unkpos[fromip] = '';
|
||||
}
|
||||
lineid++;
|
||||
}
|
||||
|
||||
function PLink(fromip,toip,lq,nlq,etx,lata,lona,ishnaa,latb,lonb,ishnab)
|
||||
{
|
||||
Link(fromip,toip,lq,nlq,etx);
|
||||
}
|
||||
|
||||
function ffmapinit()
|
||||
{
|
||||
if(null!=window.map)map.Dispose();
|
||||
map = new VEMap('ffmap');
|
||||
<%
|
||||
local fd
|
||||
local uci = require "luci.model.uci".cursor()
|
||||
|
||||
uci:foreach("olsrd", "LoadPlugin", function(s)
|
||||
if s.library == "olsrd_nameservice.so.0.3" and s.latlon_file then
|
||||
fd = io.open(s.latlon_file)
|
||||
end
|
||||
end)
|
||||
|
||||
if fd then
|
||||
while true do
|
||||
local ln = fd:read("*l")
|
||||
if not ln then break end
|
||||
write(ln)
|
||||
end
|
||||
fd:close()
|
||||
end
|
||||
%>
|
||||
}
|
||||
|
||||
function ffgoto(ip)
|
||||
{
|
||||
map.SetCenter(points[ip]);
|
||||
}
|
||||
</script>
|
||||
<div id="ffmap" style="position:relative; width:100%; height:640px;"></div>
|
||||
</body>
|
||||
</html>
|
|
@ -24,7 +24,7 @@ boot() {
|
|||
}
|
||||
|
||||
grep -q '/usr/sbin/ff_mapupdate' /etc/crontabs/root || {
|
||||
echo "17 * * * * /usr/sbin/ff_mapupdate >> /etc/crontabs/root
|
||||
echo "17 * * * * /usr/sbin/ff_mapupdate" >> /etc/crontabs/root
|
||||
}
|
||||
|
||||
[ -f /etc/rc.local ] && . /etc/rc.local
|
||||
|
|
Loading…
Reference in a new issue