Skip to content

Commit

Permalink
[luci-mod-freifunk-ui] initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
sarumpaet committed Apr 25, 2016
1 parent 23df846 commit 92f230b
Show file tree
Hide file tree
Showing 48 changed files with 11,767 additions and 0 deletions.
15 changes: 15 additions & 0 deletions utils/luci-mod-freifunk/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
#
# Copyright (C) 2008-2014 The LuCI Team <luci@lists.subsignal.org>
#
# This is free software, licensed under the Apache License, Version 2.0 .
#

include $(TOPDIR)/rules.mk

LUCI_TITLE:=LuCI Freifunk module
LUCI_DEPENDS:=+luci-mod-admin-full +luci-lib-json +freifunk-firewall +freifunk-common

include ../../luci.mk

# call BuildPackage - OpenWrt buildroot signature

84 changes: 84 additions & 0 deletions utils/luci-mod-freifunk/htdocs/luci-static/flashing.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html lang="en" xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>LuCI - System Upgrade</title>

<style type="text/css">
body {
background-color: #CCCCCC;
font-family: sans-serif;
font-size: 90%;
padding-left: 50%;
padding-top: 100px;
}

h2 {
font-size: 110%;
margin: 5px 5px 0.5em 5px;
border-bottom: 1px dotted #0066CC;
color: #0066CC;
}

p {
font-size: 95%;
margin: 15px 15px 0.5em 15px;
}

div {
background-color: #F7F7F7;
border: 1px dotted #000000;
width: 600px;
height: 150px;
margin-left: -300px;
}

em {
color: #555555;
}
</style>

<script type="text/javascript"><!--
var time_remaining = 60 * 25;
var interval = window.setInterval(function() {
if( time_remaining <= 0 )
{
window.clearInterval(interval);
location.href = 'http://' + location.hostname + '/';
}
else
{
var minutes = Math.floor(time_remaining / 60);
var seconds = time_remaining % 60;
var label = document.getElementById('time_remaining');

if( label )
{
label.innerHTML =
( minutes > 0 ? minutes + 'm ' : '' ) +
seconds + 's';
}
}

time_remaining = time_remaining - 1;
}, 1000);
--></script>
</head>

<body class="lang_en">
<div>
<h2>Performing Upgrade</h2>

<p>
The System is flashing now. The procedure can take up to 25 minutes,
please be patient and wait until this page reloads itself.

<br /><img src="resources/flashing.gif" style="vertical-align:middle; margin:10px" />

<em>Remaining time (estimated): <span id="time_remaining">unknown</span></em>
</p>
</div>
</body>

</html>
20 changes: 20 additions & 0 deletions utils/luci-mod-freifunk/htdocs/luci-static/resources/OSMLatLon.htm
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

<head>
<title>OpenStreetMap</title>
<script type="text/javascript" src="http://www.openlayers.org/api/OpenLayers.js"></script>
<script type="text/javascript" src="http://www.openstreetmap.org/openlayers/OpenStreetMap.js"></script>
<script type="text/javascript" src="osm.js"></script>
</head>
<body onload="init();drawmap();" style="padding:0px; margin:0px">
<div id="map"></div>
<div style="position:absolute; bottom:0%; width:100%; background:url('cbi/black_60.png'); font-size:10px; color:#fff;z-index:1000">
Map by <a href="http://www.openstreetmap.org" title="www.openstreetmap.org" style="color:#fff;" >openstreetmap.org</a>, License CC-BY-SA
&#160;&#160;&#160;&#160;
<span id="osm">
Latitude: <input id="osmlat" name="osmlat" type="text" size="20" style="font-size:10px;">
Longitude: <input id="osmlon" name="osmlon" type="text" size="20" style="font-size:10px;">
</span>
</div>

</body>
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
130 changes: 130 additions & 0 deletions utils/luci-mod-freifunk/htdocs/luci-static/resources/osm.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,130 @@
var map;
var layer_mapnik;
var layer_tah;
var layer_markers;
var PI = Math.PI;
var latfield = '';
var lonfield = '';
var latfield_id='';
var lonfield_id='';
var centerlon = 10;
var centerlat = 52;
var zoom = 6;

function lon2merc(lon) {
return 20037508.34 * lon / 180;
}

function lat2merc(lat) {
lat = Math.log(Math.tan( (90 + lat) * PI / 360)) / PI;
return 20037508.34 * lat;
}

function merc2lon(lon) {
return lon*180/20037508.34;
};

function merc2lat(lat) {
return Math.atan(Math.exp(lat*PI/20037508.34))*360/PI-90;
};

OpenLayers.Control.Click = OpenLayers.Class(OpenLayers.Control, {
defaultHandlerOptions: {
'single': true,
'double': false,
'pixelTolerance': 0,
'stopSingle': false,
'stopDouble': false
},

initialize: function(options) {
this.handlerOptions = OpenLayers.Util.extend(
{}, this.defaultHandlerOptions
);
OpenLayers.Control.prototype.initialize.apply(
this, arguments
);
this.handler = new OpenLayers.Handler.Click(
this, {
'click': this.trigger
}, this.handlerOptions
);
},

trigger: function(e) {
var lonlat = map.getLonLatFromViewPortPx(e.xy);
lat=merc2lat(lonlat.lat);
lon=merc2lon(lonlat.lon);
if(parent.document.getElementById(latfield_id)==null){
latfield=document.getElementById('osmlat');
}else{
latfield=parent.document.getElementById(latfield_id);
}
if(parent.document.getElementById(lonfield_id)==null){
lonfield=document.getElementById('osmlon');
}else{
lonfield=parent.document.getElementById(lonfield_id);
}
latfield.value = lat;
lonfield.value = lon;
}
});

function init(){
var field = window.name.substring(0, window.name.lastIndexOf("."));
if(parent.document.getElementById(field+".latfield")!=null){
latfield_id = parent.document.getElementById(field+".latfield").value;
document.getElementById('osm').style.display="none";
}
if(parent.document.getElementById(field+".lonfield")!=null){
lonfield_id = parent.document.getElementById(field+".lonfield").value;
}
if(parent.document.getElementById(field+".centerlat")!=null){
centerlat =parseFloat(parent.document.getElementById(field+".centerlat").value);
}
if(parent.document.getElementById(field+".centerlon")!=null){
centerlon = parseFloat(parent.document.getElementById(field+".centerlon").value);
}
if(parent.document.getElementById(field+".zoom")!=null){
zoom = parseFloat(parent.document.getElementById(field+".zoom").value);
}
}

function drawmap() {
OpenLayers.Lang.setCode('de');
mapdiv=document.getElementById('map');
mapdiv.style.height=window.innerHeight+"px";
mapdiv.style.width=window.innerWidth+"px";
map = new OpenLayers.Map('map', {
projection: new OpenLayers.Projection("EPSG:900913"),
displayProjection: new OpenLayers.Projection("EPSG:4326"),
controls: [
new OpenLayers.Control.Navigation(),
new OpenLayers.Control.PanZoomBar()],
maxExtent:
new OpenLayers.Bounds(-20037508.34,-20037508.34, 20037508.34, 20037508.34),
numZoomLevels: 18,
maxResolution: 156543,
units: 'meters'
});

layer_mapnik = new OpenLayers.Layer.OSM.Mapnik("Mapnik");

map.addLayers([layer_mapnik]);
var y =lat2merc(centerlat);
var x =lon2merc(centerlon);
map.setCenter(new OpenLayers.LonLat(x, y), zoom);

// Check for geolocation support
if(navigator.geolocation){
navigator.geolocation.getCurrentPosition(function(position){
var y =lat2merc(position.coords.latitude);
var x =lon2merc(position.coords.longitude);
map.setCenter(new OpenLayers.LonLat(x, y), '17');
});
}

var click = new OpenLayers.Control.Click();
map.addControl(click);
click.activate();
}
Loading

0 comments on commit 92f230b

Please sign in to comment.