diff options
Diffstat (limited to 'files/common/www/service')
| -rw-r--r-- | files/common/www/service/css/ffj.css | 3 | ||||
| -rw-r--r-- | files/common/www/service/ff-jena_signet.png | bin | 12744 -> 0 bytes | |||
| -rw-r--r-- | files/common/www/service/ffj.css | 61 | ||||
| -rw-r--r-- | files/common/www/service/img/logo.png | bin | 0 -> 11090 bytes | |||
| -rw-r--r-- | files/common/www/service/img/wifi.png | bin | 0 -> 2016 bytes | |||
| -rw-r--r-- | files/common/www/service/index.html | 124 | ||||
| -rw-r--r-- | files/common/www/service/internet.html | 23 | ||||
| -rw-r--r-- | files/common/www/service/js/settings.js | 119 | ||||
| -rw-r--r-- | files/common/www/service/robinson.html | 26 | ||||
| -rw-r--r-- | files/common/www/service/services.html | 23 | ||||
| -rw-r--r-- | files/common/www/service/settings.html | 212 | ||||
| -rw-r--r-- | files/common/www/service/splash.html | 88 | ||||
| -rw-r--r-- | files/common/www/service/status.html | 104 | 
13 files changed, 608 insertions, 175 deletions
| diff --git a/files/common/www/service/css/ffj.css b/files/common/www/service/css/ffj.css new file mode 100644 index 0000000..96f60fc --- /dev/null +++ b/files/common/www/service/css/ffj.css @@ -0,0 +1,3 @@ +.hidden { display: none; } +.loading:before { content: "wird geladen ..."; font-style: italic } +img.olTileImage { max-width: none; } diff --git a/files/common/www/service/ff-jena_signet.png b/files/common/www/service/ff-jena_signet.pngBinary files differ deleted file mode 100644 index 15d216c..0000000 --- a/files/common/www/service/ff-jena_signet.png +++ /dev/null diff --git a/files/common/www/service/ffj.css b/files/common/www/service/ffj.css deleted file mode 100644 index 3542611..0000000 --- a/files/common/www/service/ffj.css +++ /dev/null @@ -1,61 +0,0 @@ -div#body { -width: 100%; -text-align: center; -} -div#maincontent{ -margin-left: auto; -margin-right: auto; -max-width: 600px; -font-family: Arial, Verdana, sans-serif; -font-size: 12pt; -text-align: left; -} -div#maincontent a, a:link, a:visited { -color: #464646; -text-decoration: none; -} - -div#button_area{ -padding-left:150px; -padding-right:150px; -text-align:center; -} - -div#button_left{ -float:left; -width: 50%; -text-align:center; -} - -div#button_right{ -float:right; -width: 50%; -text-align:center; -} - -input.button{ -border-color:white black black white; -border-style:solid; -border-width:1px; -background-color: #E5E5E5; -padding: 5px; -color: black; -font-weight: bold; -border-radius: 5px; --moz-border-radius: 5px; --webkit-border-radius: 5px; -} -input.button:hover { -background-color: grey; -border-color:white black black white; -border-style:solid; -border-width:1px; -} -div#logo { -height: 125px; -font-size: 24px; -} -img.logo { -float: left; -padding: 5px; -} diff --git a/files/common/www/service/img/logo.png b/files/common/www/service/img/logo.pngBinary files differ new file mode 100644 index 0000000..1eed6f0 --- /dev/null +++ b/files/common/www/service/img/logo.png diff --git a/files/common/www/service/img/wifi.png b/files/common/www/service/img/wifi.pngBinary files differ new file mode 100644 index 0000000..a935fb7 --- /dev/null +++ b/files/common/www/service/img/wifi.png diff --git a/files/common/www/service/index.html b/files/common/www/service/index.html new file mode 100644 index 0000000..3c4f14a --- /dev/null +++ b/files/common/www/service/index.html @@ -0,0 +1,124 @@ +<html lang="de"> +<head> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> +<title>Freifunk Jena</title> +<link rel="stylesheet" href="/css/bootstrap.min.css"> +<link rel="stylesheet" href="/css/ffj.css"> +</head> +<body> + +<div class="navbar"><div class="navbar-inner"><div class="container-fluid"> +<a class="brand" href="/">Freifunk Jena </a> +<div class="nav-collapse"><ul class="nav"> +<li><a href="/services.html"><i class="icon-home   icon-white"></i> Lokale Dienste</a></li> +<li><a href="/internet.html"><i class="icon-road   icon-white"></i> Internet</a></li> +<li><a href="/status.html"><i   class="icon-signal icon-white"></i> Netzstatus</a></li> +<li><a href="/settings.html"><i class="icon-cog    icon-white"></i> Einstellungen</a></li> +</ul></div> +</div></div></div> + +<div class="container-fluid"> + +  <div class="hero-unit"> +    <img class="pull-right" src="/img/logo.png"> +    <h1><a id="content" name="content"></a>Willkommen!</h1> + +    <p>Du bist jetzt mit dem freien Funknetz +    <a href="http://www.freifunk-jena.de">Freifunk Jena</a> +    verbunden.</p> + +    <p>Wir sind ein experimentelles Gemeinschaftsnetzwerk, aber kein +    Internetanbieter.</p> + +    <p><a href="foo" class="btn btn-success btn-large">Mehr lernen</a></p> +  </div> + +  <div class="alert alert-error hidden" id="offline"> +    <p><b>Das Internet ist in dieser Wolke vorrübergehend nicht +      verfügbar.</b> Die <a href="/services.html"><i class="icon-home"></i> +      lokalen Dienste</a> der Wolke stehen weiter zur +      Verfügung. Für Details +      siehe <a href="/status.html"><i class="icon-signal"></i> +      Netzstatus</a>.</p> +  </div> + +  <div class="row"> +    <div class="span4"> +      <h2>Lokales Netzwerk</h2> +      <p>Im Freifunknetz kann <emph>jeder</emph> Dienste anbieten: +      alle teilnehmenden Computer können direkt miteinander +      kommunizieren. Unter <a href="/settings.html" style="white-space: nowrap"><i class="icon-cog"></i> Einstellungen</a> +      kannst du festlegen, wie du das Netzwerk nutzen möchtest +      und Resourcen mit anderen Freifunkern teilen.</p> +       +      <p><a href="foo"><i class="icon-home"></i> Lokale Dienste</a> in +      dieser Wolke: +	<ul> +	  <li>3 <a href="foo">Netzlaufwerke</a> (15,5 TB)</li> +	  <li><a href="foo">Suche</a> in lokalen Resourcen</li> +	  <li>5 <a href="foo">Internetzugänge</a> (<i class="icon-arrow-down"></i> 55 MB / <i class="icon-arrow-up"></i> 8,2 MB)</li> +	  <li>2 <a href="foo">Videostreams</a></li> +	  <li>4 <a href="foo">Gameserver</a> (23 <i class="icon-user"></i>)</li> +	  <li>und <a href="foo">42 weitere</a></li> +	</ul> +      </p> +    </div> +     +    <div class="span4"> +      <h2>Internet</h2> +      <p>Ein Zugang ins Internet ist möglich, da einige +	Freifunker ihre privaten Internetzugänge zur +	Verfügung stellen. Diese Zugänge müssen sich +	hier alle teilen. Bitte sei Dir dessen bewusst und verhalte +	Dich dementsprechend: +      </p> +       +      <ul> +	<li><strong>keine Filesharing-Programme</strong></li> +	<li><strong>keine unnötigen Downloads oder Streams</strong></li> +	<li><strong>keine illegalen Aktivitäten</strong></li> +      </ul> + +      <p>Mit einem Klick auf <em>Akzeptieren</em> kannst du für 1 +	Stunde unser Netz verwenden. Dann wirst du erneut aufgefordet, +	diese Bedingungen zu akzeptieren.</p> +       +      <form action="/cgi-bin/splash_click.html" method="POST"> +	<input type="hidden" name="target_url" value="targeturl"/> +	<input type="submit" class="btn btn-primary" value="Akzeptieren" /> +	<a class="btn" href="/services.html">Ablehnen</a> +      </form> +    </div> +     +    <div class="span4"> +      <h2>Mitmachen</h2> +       +      <p>Wenn Du unsere Idee gut findest und das Netz regelmässig +	benutzt, dann bitten wir Dich um Unterstützung: +      </p> +       +      <ul> +	<li><a href="http://www.freifunk-jena.de">Werde selbst +	Freifunker</a>. Dazu muss man nur einen handelsüblichen +	WLAN-Router ins Fensterbrett stellen.</a></li> +	<li><a href="foo">Spende</a> ein paar Euro, damit wir unser +	Netz weiter betreiben und ausbauen können.</li> +	<li>Wenn Du selbst privat genutzte WLAN-Geräte betreibst +	nutze dafür bitte <a href="foo">andere Kanäle</a> +	als wir.</li> +      </ul> +    </div> +  </div> +</div> + +<script src="/js/jquery.min.js"></script> +<script src="/js/bootstrap.min.js" defer></script> +<script> +$.getJSON("cgi-bin/online.json", function(haveInternet) { +    if(!haveInternet) +	$('#offline').removeClass('hidden'); +}) +</script> + +</body> +</html> diff --git a/files/common/www/service/internet.html b/files/common/www/service/internet.html new file mode 100644 index 0000000..cd5d2bf --- /dev/null +++ b/files/common/www/service/internet.html @@ -0,0 +1,23 @@ +<html lang="de"> +<head> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> +<title>Freifunk Jena</title> +<link rel="stylesheet" href="/css/bootstrap.min.css"> +<link rel="stylesheet" href="/css/ffj.css"> +</head> +<body> + +<div class="navbar"><div class="navbar-inner"><div class="container-fluid"> +<a class="brand" href="/">Freifunk Jena </a> +<div class="nav-collapse"><ul class="nav"> +<li><a href="/services.html"><i class="icon-home   icon-white"></i> Lokale Dienste</a></li> +<li class="active"><a href="/internet.html"><i class="icon-road   icon-white"></i> Internet</a></li> +<li><a href="/status.html"><i   class="icon-signal icon-white"></i> Netzstatus</a></li> +<li><a href="/settings.html"><i class="icon-cog    icon-white"></i> Einstellungen</a></li> +</ul></div> +</div></div></div> + +hier steht irgendwann mal was ueber das internet + +</body> +</html> diff --git a/files/common/www/service/js/settings.js b/files/common/www/service/js/settings.js new file mode 100644 index 0000000..094ea5f --- /dev/null +++ b/files/common/www/service/js/settings.js @@ -0,0 +1,119 @@ +// adapt to small window sizes .. TODO: solution that sucks less +var sizeAdaptor = function() { +    if ($(window).width() < 800) { +	$('.tabs-left') +	    .removeClass('tabs-left') +	    .addClass('tabs-above'); +    }else{ +	$('.tabs-above') +	    .removeClass('tabs-above') +	    .addClass('tabs-left'); +    } +} +sizeAdaptor(); +$(window).resize(sizeAdaptor); + +/// helper functions to hold & update data + +function data(key) { +    if (typeof data[key] == "undefined") { +	var f = function(val) { fillData(key, val); }; +	data[key] = $.Deferred().then(f, [], f);	 +    } +    return data[key]; +} + +function fillData(key, val, def) { +    $('pre.data-' + key +      + ',p.data-' + key +      + ',span.data-' + key) +	.empty().append(val ? val : def) +	.removeClass('loading'); +    if (val) { +	$('input.data[name=' + key + ']').val(val); +	$('.only-' + key) +	    .removeClass('hidden only-' + key) +	    .addClass('only-' + key) +	    .attr('class', function(i, ca) { +		if (ca.indexOf('only-') == -1) this.css('display', 'block'); +	    }); +    }else{ +	$('.has-' + key) +	    .removeClass('has-' + key) +	    .addClass('only-' + key) +	    .css('display', 'none'); +    } +} + +/// load data + +var loadBootstrap = $.ajax({url: "js/bootstrap.min.js", dataType: "script", cached: true}); +var loadCfg = {}; +$.each(['client_net', 'cfg_client', 'cfg_router', 'node_position'], +       function(i,name) { +	  loadCfg[name] = $.getJSON('cgi-bin/' + name + '.json') +	      .done(function(res) { +		  $.each(res, function(k,v) { data(k).notify(v); }); +	      }); +      }); + +/// add event handlers + +var formChangeHandler = function() { +    $(this.form).find('[type="submit"]') +	.removeClass('disabled btn-success btn-danger') +	.addClass('btn-primary'); +}; +var formSubmitHandler = function() { +    form = this; +    btn = $(form).find('[type="submit"]'); +    btn.addClass('disabled'); +    $.post(form.action, $(form).serialize()) +	.done(function(res) {  +	    btn.addClass('btn-success') +		.removeClass('btn-primary'); +	    $(form).find('.alert').remove(); +	    $.each(res, function(k,v) { data(k).notify(v); }); +	    if (form.id == 'geo') +		$.getJSON('cgi-bin/node_position.json') +		.always(function() { +		    $.each(['lon', 'lat', 'street'], function(i,name) {  +			data('router_pos_' + name).notify(''); }); +		}).done(function(res) { +		    $.each(res, function(k,v) { data(k).notify(v); }); +		}); +	}) +	.fail(function(v) { +	    btn.addClass('btn-danger'); +	    $(form).prepend('<div class="alert alert-error">' + v.responseText + '</div>'); +	}); +    return false; +} +$('form.well input') +    .change(  formChangeHandler) +    .keypress(formChangeHandler) +$('form.well') +    .submit(formSubmitHandler); + +/// add data handlers +$.when(loadCfg['client_net']).done(function(cn) { +    fillData('net_desc', +	'Im Moment bist du per ' +	    + (cn.wired ? 'Ethernet' : 'WLAN') +	    + ' mit ' +	    + (cn.router_name +	       ? 'dem Router <strong><span class="data-router_name">' + cn.router_name + '</span></strong>' +	       : '<span class="data-router_name">einem unbenannten Router</span>') +	    + ' verbunden.'); +}); + +$.when(loadBootstrap).done(function() { +    $('#tooltip-mac').popover( +	{title: "Was ist eine MAC-Adresse?", content: "<p>Jede " +	 + "Netzwerkkarte hat eine weltweit eindeutige Nummer: die " +	 + "MAC-Adresse. Im Gegensatz zu einer IP-Adresse ändert sich diese nicht.</p>" +	 + "<p>Wenn dein Computer mit verschiedenen Netzwerkkarten auf " +	 + "das Frei­funk­netz­werk zugreift (zum Beispiel per Kabel- und per " +	 + "Drahtlosnetzwerk), dann werden auch verschiedene MAC-Adres­sen übertragen. " +	 + "Du musst die Einstellungen für jede MAC-Adresse wiederholen.</p>",  +	 delay: 50})}); diff --git a/files/common/www/service/robinson.html b/files/common/www/service/robinson.html deleted file mode 100644 index 45961b9..0000000 --- a/files/common/www/service/robinson.html +++ /dev/null @@ -1,26 +0,0 @@ -<h1>Don't Panic</h1> - -<p>Du befindest dich in einer Datenwolke des Freifunk Jena Netzes -(<a href="todo">mehr Infos</a>). Das Internet ist in dieser Wolke -vorrübergehend nicht verfügbar. Die <a href="todo">lokalen -Dienste</a> der Wolke stehen weiter zur Verfügung.</p> - -<p>Es gibt drei Möglichkeiten Internet in dieser Freifunk Wolke -zu verteilen: -<list> -<li>einen Router dieser Wolke mit einem Internetzugang verbinden -(<a href="todo">mehr Infos</a>)</li> -<li>die Wolke mit einer anderen Wolke verbinden, die Internet hat -(<a href="todo">mehr Infos</a>)</li> -<li>falls das Internet gerade noch ging, reicht es meist einfach zu -warten</li> -</list> -Falls du Hilfe dabei brauchst, melde dich einfach bei todo lorem -ipsum.</p> - -<p>An dieser Stelle wären ein paar Debuginformationen gut: -<list> -<li>wie viele Knoten sind in der Wolke? -<li>wann gab es das letzte mal Netz? -<li>welche Dienste sind verfügbar? -</list></p> diff --git a/files/common/www/service/services.html b/files/common/www/service/services.html new file mode 100644 index 0000000..e3e17d0 --- /dev/null +++ b/files/common/www/service/services.html @@ -0,0 +1,23 @@ +<html lang="de"> +<head> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> +<title>Freifunk Jena</title> +<link rel="stylesheet" href="/css/bootstrap.min.css"> +<link rel="stylesheet" href="/css/ffj.css"> +</head> +<body> + +<div class="navbar"><div class="navbar-inner"><div class="container-fluid"> +<a class="brand" href="/">Freifunk Jena </a> +<div class="nav-collapse"><ul class="nav"> +<li class="active"><a href="/services.html"><i class="icon-home   icon-white"></i> Lokale Dienste</a></li> +<li><a href="/internet.html"><i class="icon-road   icon-white"></i> Internet</a></li> +<li><a href="/status.html"><i   class="icon-signal icon-white"></i> Netzstatus</a></li> +<li><a href="/settings.html"><i class="icon-cog    icon-white"></i> Einstellungen</a></li> +</ul></div> +</div></div></div> + +hier gibt es irgendwann einmal eine automatisch generierte liste aller in der wolke verfuegbaren dienste + +</body> +</html> diff --git a/files/common/www/service/settings.html b/files/common/www/service/settings.html new file mode 100644 index 0000000..72b7192 --- /dev/null +++ b/files/common/www/service/settings.html @@ -0,0 +1,212 @@ +<html lang="de"> +<head> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> +<title>Freifunk Jena</title> +<link rel="stylesheet" href="/css/bootstrap.min.css"> +<link rel="stylesheet" href="/css/ffj.css"> +</head> +<body> + +<div class="navbar"><div class="navbar-inner"><div class="container-fluid"> +<a class="brand" href="/">Freifunk Jena </a> +<div class="nav-collapse"><ul class="nav"> +<li><a href="/services.html"><i class="icon-home   icon-white"></i> Lokale Dienste</a></li> +<li><a href="/internet.html"><i class="icon-road   icon-white"></i> Internet</a></li> +<li><a href="/status.html"><i   class="icon-signal icon-white"></i> Netzstatus</a></li> +<li class="active"><a href="/settings.html"><i class="icon-cog    icon-white"></i> Einstellungen</a></li> +</ul></div> +</div></div></div> + +<div class="container-fluid"> + +  <div class="tabbable tabs-left"><!-- TODO: remove tabs-left if +  screen is too narrow !--> +    <ul class="nav nav-tabs"> +      <li class="active"><a href="#overview" data-toggle="tab">Übersicht</a></li> +      <li><a href="#device" data-toggle="tab">Mein Gerät</a></li> +      <li><a href="#lan" data-toggle="tab">Geräte im LAN</a></li> +      <li><a href="#node" data-toggle="tab">Router</a></li> +    </ul> + +    <div class="tab-content"> +      <div class="tab-pane active" id="overview"> +	<div class="container-fluid"> +	  <div class="span3"> +	    <p>Unter <a href="#device" data-toggle="tab">Mein +	      Gerät</a> kannst Du einstellen, wie sich Dein +	      Computer im Freifunknetzwerk verhalten soll.</p> + +	    <p>Dein Computer wird dabei über seine <a href="#" +	      id="tooltip-mac">MAC-Adresse</a> wiedererkannt. Deine aktuelle MAC-Adresse ist:</p> +     +	    <p><pre class="data-client_mac loading"></pre></p> +	       +	  </div> +	   +	  <div class="span3 only-wired hidden"> +	    <p>Unter <a href="#lan" data-toggle="tab">Geräte im +	      LAN</a> kannst Du einstellen, wie sich per Kabel +	      angeschlossene Geräte mit dem Freifunknetz +	      verbinden sollen und Dienste im Freifunknetz bekannt +	      machen.</p> +	  </div> + +	  <div class="span3"> +	    <p>Um Deinen Freifunk <a href="#node" +	      data-toggle="tab">Router</a> zu konfigurieren, musst Du +	      Dich per Ethernetkabel mit ihm verbinden. Dies +	      verhindert unberechtigen Zugriff auf das Gerät.</p> + +	    <p class="data-net_desc loading"></p> +	  </div> + +	  <div class="span3"> +	    <p>Wenn Du noch keinen eigenen Router hast, kannst Du Dir +	    unter <a href="http://www.freifunk-jena.de">Freifunk-Jena.de</a> +	    einen besorgen.</p> +	  </div> +	</div> +      </div> + +      <div class="tab-pane" id="device"> +	<h3>Geräteeinstellungen <small>für <span class="data-client_name loading"></span> +	(<span class="data-client_mac"></span>)</small></h3> +	 +	<form class="well" action="cgi-bin/cfg_router.json" method="post"> +	  <h4>Name <small>wird benutzt um die MAC-Adresse zu verstecken</small></h4> +	  <input type="text" name="client_name" class="data"> +	  <input type="submit" class="btn btn-mini disabled" value="Speichern"> +	</form> + +	<form class="well" action="cgi-bin/cfg_router.json" method="post"> +	  <h4>Internetzugang</h4> +	  <label class="checkbox inline"> +	    <input type="checkbox" name="client_splash" value="true" class="data"> +	    Splash dauerhaft deaktivieren +	  </label> +	  <input type="submit" class="btn btn-mini disabled" value="Speichern"> +	</form> + +	<form class="well" action="cgi-bin/cfg_router.json" method="post"> +	  <h4>Zugang zum Freifunknetz</h4> +	  <label class="radio"> +	    <input type="radio" name="client_access" class="data" value="bridged"> direkte Verbindung mit dem +	    Freifunknetzwerk (bridging). Uneingeschränkte +	    Funktionalität und Dienstfreigabe möglich +	  </label> +	  <label class="radio"> +	    <input type="radio" name="client_access" class="data" value="routed"> geroutete Verbindung: Zugriff auf das +	    Freifunknetz funktioniert so wie Internetzugriff. Eine +	    Programme (Chat, diverse Computerspiele) funktionieren +	    nicht. Dienste koennen nicht freigegeben werden +	  </label> +	  <label class="radio"> +	    <input type="radio" name="client_access" class="data" value="isolated"> keine Verbindung +	  </label> +	  <input type="submit" class="btn btn-mini disabled" value="Speichern"> +	</form> +      </div> + +      <div class="tab-pane" id="lan"> +	<h3>Geräteeinstellungen für andere Geräte im LAN</h3> + +	<p>Liste aller Gerate, Option neue hinzuzufuegen (per IP), per +	Click auf ein Device kommt der gleiche Dialog wie fuer das +	eigene Device</p> +      </div> + +      <div class="tab-pane" id="node"> +	<h3>Routereinstellungen <small>für <span class="data-router_name loading"></span></h3> + +	<form class="well" action="cgi-bin/cfg_router.json" method="post"> +	  <h4>Name</h4> +	  <input type="text" name="router_name" class="data"> +	  <input type="submit" class="btn btn-mini disabled" value="Speichern"> +	</form> + +	<form class="well" action="cgi-bin/cfg_router.json" method="post"> +	  <h4>Passwort</h4> +	  <input type="text" name="router_password" class="data"> +	  <input type="submit" class="btn btn-mini disabled" value="Speichern"> + +	  <div class="row-fluid"> +	    <div class="span6"> +	      <p>Ist ein Passwort gesetzt, dann muss dieses für +		alle Einstellung angegeben werden, die den Router oder +		andere Geräte im Kabelnetzwerk +		betreffen. Einstellungen, die nur den eigenen Rechner +		betreffen kann jeder Nutzer weiterhin ohne Passwort +		vornehmen.</p> + +	      <p>Normalerweise sollte man kein Passwort setzen: die +	        betroffenen Einstellung dürfen auch ohne Passwort +	        nur von Nutzern geändert werden, die per Kabel an +	        den Router angeschlossen sind. Und die haben i.d.R +	        bereits physische Gewalt über den Router und das +	        Netzwerk.</p> +	    </div> + +	    <div class="span6"> +	      <p><b>Kein wichtiges Passwort verwenden!</b>  Das hier +		angegebene Passwort wird unsicher gespeichert, +		über das Netzwerk übertragen und im Klartext +		angezeigt.</p> + +	      <p>Wurde das Passwort vergessen, dann muss der +		Router <a href="foo">in den Auslieferungszustand +		zurückgesetzt</a> werden. Das ist nicht tragisch +		:-)</p> +	    </div> +	  </div> +	</form> + +	<form class="well" action="cgi-bin/cfg_router.json" method="post"> +	  <h4>Internetzugang</h4> +	  <label class="checkbox"> +	    <input type="checkbox" name="router_qos" value="true" class="data"> +	    LAN-Traffic gegenüber WLAN-Traffic bevorzugen (QoS) +	  </label> +	  <label class="checkbox"> +	    <input type="checkbox" name="router_vpn" value="true" class="data"> +	    VPN verwenden +	  </label> +	  <label class="checkbox"> +	    <input type="checkbox" name="router_filter_wan" value="true" class="data"> +	    Zugriff auf lokale Netzwerke hinterm WAN-Port sperren +	  </label> +	  <input type="submit" class="btn btn-mini disabled" value="Speichern"> +	</form> + +	<form class="well" action="cgi-bin/cfg_router.json" method="post" id="geo"> +	  <h4>Routerstandort</h4> +	  <div class="row-fluid"> +	    <div class="span6"> +	      <label class="radio"> +		<input type="radio" name="router_geo" class="data" value="automatic">automatisch ermitteln +	      </label> +	      <label class="radio"> +		<input type="radio" name="router_geo" class="data" value="manual">von Hand eingeben +	      </label> +	      <label class="radio"> +		<input type="radio" name="router_geo" class="data" value="private">nicht veröffentlichen +	      </label> +	    </div> +	    <div class="span6"> +	      <input type="text" name="router_pos_lon" class="data"> +	      <input type="text" name="router_pos_lat" class="data"> +	      <input type="text" name="router_pos_street" class="data"> +	    </div> +	  </div> +	  <input type="submit" class="btn btn-mini disabled" value="Speichern"> +	</form> + +      </div> +    </div> +  </div> +</div> + +<script src="/js/jquery.min.js"></script> +<script src="/js/settings.js"></script> + +</body> +</html> diff --git a/files/common/www/service/splash.html b/files/common/www/service/splash.html deleted file mode 100644 index 7b85b5e..0000000 --- a/files/common/www/service/splash.html +++ /dev/null @@ -1,88 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE html -  PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" -  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> - -<head> -<script type="text/javascript" src="https://static.jappix.com/php/get.php?l=de&t=js&g=mini.xml&f=jquery.js"></script> - -<script type="text/javascript"> -   jQuery(document).ready(function() { -      MINI_GROUPCHATS = ["chat@chat.freifunk-jena.de"]; -      launchMini(false, true, "anonymous.jappix.com"); -   }); -</script> - -  <title>Freifunk Jena</title> - -  <link rel="stylesheet" type="text/css" href="/ffj.css" /> - -</head> -<body> -    <div id="body"> -        <div id="maincontent"> - -            <div id="logo"> -                <img src="/ff-jena_signet.png" class="logo" alt="Freifunk-Logo"/><br /><strong>Freifunk Jena</strong><br />Das freie Bürgernetz für Jena -            </div> - -            <h2><a id="content" name="content">Willkommen!</a></h2> -            <p> -                Du bist jetzt mit dem freien Funknetz <a href="http://www.freifunk-jena.de">Freifunk Jena</a> verbunden.<br /> - -                Wir sind ein experimentelles Gemeinschaftsnetzwerk, aber kein Internetanbieter. -            </p> - -            <p> -                Ein Zugang <strong>ins Internet</strong> ist trotzdem möglich, -                da einige Freifunker ihre privaten Internetzugänge zur Verfügung stellen. -                Diese Zugänge müssen sich hier alle teilen. -                Bitte sei Dir dessen bewusst und verhalte Dich dementsprechend: -            </p> - -            <ul> -                <li>bitte <strong>keine Filesharing-Programme</strong> betreiben!</li> -                <li>bitte <strong>keine unnötigen Downloads oder Streams</strong> starten!</li> -                <li>bitte <strong>keine illegalen Aktivitäten</strong>!</li> -            </ul> - -            <p> -                Wenn Du unsere Idee gut findest und das Netz regelmässig benutzt, dann bitten wir Dich um Unterstützung: -            </p> - -            <ul> -                <li><a href="http://www.freifunk-jena.de">Werde selbst Freifunker oder teile deinen Internetzugang!</a></li> -                <li>Spende ein paar Euro, damit wir unser Netz weiter betreiben und ausbauen können.</li> -                <li>Wenn Du selbst privat genutzte WLAN-Geräte betreibst nutze dafür bitte andere Kanäle als wir.</li> -            </ul> - -            <p> -                Mit einem Klick auf <em>Akzeptieren</em> kannst du für -                1 Stunde(n) unser Netz verwenden. Dann wirst du -                erneut aufgefordet, diese Bedingungen zu akzeptieren. -            </p> - - -            <div id="button_area"> -                <div id="button_left"> -                    <div class="buttons"> -                        <form action="/cgi-bin/splash_click" method="post"> -                            <input type="hidden" name="target_url" value="targeturl"/> -                            <input class="button" type="submit" value="Akzeptieren"/> -                        </form> -                    </div> -                </div> -                <div id="button_right"> -                    <div class="buttons"> -                        <form action="http://www.freifunk-jena.de/Decline" method="get"> -                            <input class="button" type="submit" value="Ablehnen"/> -                        </form> -                    </div> -                </div> -            </div> -        </div> -    </div> -</body> -</html> diff --git a/files/common/www/service/status.html b/files/common/www/service/status.html new file mode 100644 index 0000000..ce8acf0 --- /dev/null +++ b/files/common/www/service/status.html @@ -0,0 +1,104 @@ +<html lang="de"> +<head> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> +<title>Freifunk Jena</title> +<link rel="stylesheet" href="/css/bootstrap.min.css"> +<link rel="stylesheet" href="/css/ffj.css"> +</head> +<body> + +<div class="navbar"><div class="navbar-inner"><div class="container-fluid"> +<a class="brand" href="/">Freifunk Jena </a> +<div class="nav-collapse"><ul class="nav"> +<li><a href="/services.html"><i class="icon-home   icon-white"></i> Lokale Dienste</a></li> +<li><a href="/internet.html"><i class="icon-road   icon-white"></i> Internet</a></li> +<li class="active"><a href="/status.html"><i   class="icon-signal icon-white"></i> Netzstatus</a></li> +<li><a href="/settings.html"><i class="icon-cog    icon-white"></i> Einstellungen</a></li> +</ul></div> +</div></div></div> + +<div class="container-fluid"> +  <div class="span6"> +    <h2>Übersichtskarte</h2> +    <div style="width: 100%" id="nodemap"></div> +  </div> +  <div class="span6"> +    <h2>Liste aller Knoten</h2> +    <table class="table table-striped"> +      <thead><tr> +	<th>Knoten</th> +	<th>Betreiber</th> +	<th>Uplink</th> +      </tr></thead> +      <tbody id="nodetbl"> +	<tr><td colspan="3"><i>wird geladen ...</i></td></tr> +      </tbody> +    </table> +  </div> +</div> + +<script src="/js/jquery.min.js"></script> +<script src="/js/bootstrap.min.js" defer></script> +<script> +$.getJSON('cgi-bin/online.json', function(haveInternet) { +    var nodeTbl = $('#nodetbl'); +    var loadNodeData = $.getJSON("cgi-bin/nodes.json"); + +    var nodeMap = $('#nodemap'); +    if (haveInternet) { +	nodeMap.height(nodeMap.width() * 1.5); +	var loadMap = $.ajax({url: "http://www.feinsterfug.de/ffj/webif/OpenLayers.js", dataType: "script", cached: true}); +    }else{ +	nodeMap.append("<div class=alert>Ohne Internetzugang funktioniert die Kartendarstellung in dieser Wolke nicht.</div>"); +	var loadMap = $.Deferred().reject(); +    } + +    $.when(loadNodeData).then(function(nodeData) { +	nodeTbl.empty();	 +	$.each(nodeData, function(idx, node) { +            nodeTbl.append("<tr><td>" +			   + (node.name ? node.name : ("<i style=\"color: grey\">Unbenannt " + idx + "</i>"))  +			   + "</td><td>" +			   + (node.owner ? node.owner : ("<i style=\"color: grey\">Unbekannt " + idx + "</i>"))  +			   + "</td><td>" +			   + (node.uplink ? "<i class=\"icon-ok\"></i>" : "") + "</td></tr>");   +	}); +    }); + +    $.when(loadNodeData, loadMap).then(function(rawData) { +	var nodeData = rawData[0]; +	var map = new OpenLayers.Map({ +	    div: 'nodemap', +	    controls: [new OpenLayers.Control.Navigation(), +		       new OpenLayers.Control.PanZoomBar(), +		       new OpenLayers.Control.ScaleLine()]}); +        map.addLayer(new OpenLayers.Layer.OSM()); + +	var nodeLayer = new OpenLayers.Layer.Vector("Nodes"); +        var t0 = new OpenLayers.Projection("EPSG:4326"); // transform from WGS 1984 +        var t1 = new OpenLayers.Projection("EPSG:900913"); // to Spherical Mercator Projection, +	$.each(nodeData, function(idx, node) { +	    if (node.pos) +		nodeLayer.addFeatures(new OpenLayers.Feature.Vector( +		    new OpenLayers.Geometry.Point(node.pos.lon, node.pos.lat).transform(t0,t1), +		    {node: node}, +		    {externalGraphic: 'wifi.png',  +		     graphicWidth:   32, graphicHeight: 37, +		     graphicXOffset: -16, graphicYOffset: -36})); +	}); +	map.addLayer(nodeLayer); +	map.zoomToExtent(nodeLayer.getDataExtent(), true); + +	var markers = new OpenLayers.Control.SelectFeature(nodeLayer, { +	    onSelect: function(feat) { alert("foo"); }, +	    onUnselect: function(feat) { alert(feat.data.node.id); }, +	    toogle: true +	}); +	map.addControl(markers); +	markers.activate(); +    }); +}); +</script> + +</body> +</html> | 
