#!/bin/sh export DATE="26.10.2007";SCRIPT=${0#/rom} export TITLE="Verwaltung: Karten-Daten" . ${SCRIPT%/*}/cgi-bin-pre.sh cat<Verwaltung: Karten-Daten EOF if [ "$REQUEST_METHOD" = "POST" ]; then read QUERY_STRING fi if [ -z "$QUERY_STRING" ]; then map_update="$(nvram get ff_map_update)" map_server="$(nvram get ff_map_server)" if [ -z "$map_server" ]; then map_server="http://layereight.de/freifunkmap.php" fi ff_adm_latlon=$(nvram get ff_adm_latlon) if [ -z "$ff_adm_latlon" ];then IFS=\;\,\: set - $(nvram get ff_adm_gps) unset IFS if [ -n "$1" ] && [ -n "$2" ];then ff_adm_latlon="$1,$2" fi fi # ...Werte holen ANT_INFO=$(nvram get ff_map_hfinfo) ff_adm_note=$(nvram get ff_adm_note) # Reste der MagicS/ff_adm_note - spart den Leuten das Neueingeben und säubern... # kann in einer der nächsten Versionen einfach weg: ### cut 8<--- if [ -z "$ANT_INFO" ];then MagicBEG='§§_HF-Info(' MagicEND=')HF-Info_§§' ANT_INFO=$(echo "$ff_adm_note"|sed -n "s/.*${MagicBEG}\(.*\)${MagicEND}.*/\1/p") ff_adm_note=$(echo "$ff_adm_note"|sed "s/${MagicBEG}.*${MagicEND}//") fi ### until here --->8 [ -n "$ANT_INFO" ] && eval "$(echo "$ANT_INFO"|sed 's/:/\=/g')" cat< function set_val(id,val) { document.getElementById(id).value = val; } function select_(id) { document.getElementById(id).selected='selected'; } function set_Ant(idx) { var a = document.getElementById("SelAnt").options[idx].value.split(new RegExp(":")); select_("Atyp_" + idx); set_val("type", a[0]); set_val("gain", a[1]); set_val("angP", a[2]); set_val("angO", a[3]); } function SelFreeAnt(id) { if( document.getElementById("SelAnt").selectedIndex != (A.length-1) ) { select_("Atyp_" + (A.length-1) ); if ( id != "type") set_val("type", A[A.length-1][1]); } } function set_Dir(idx) { select_("Hdir_" + idx); set_val("Hdir", document.getElementById("SelDir").options[idx].value); } function SelFreeDir() { select_("Hdir_" + (document.getElementById("SelDir").options.length-1) ); } function set_Pol(idx) { select_("PolE_" + idx); set_val("PolE", document.getElementById("SelPol").options[idx].value); } function SelFreePol() { select_("PolE_" + (document.getElementById("SelPol").options.length-1) ); }
Freifunk-Map-Server:
URL:
Update-Intervall:
GPS-Position:
Optionale Angaben zur Antenne
Höhe: Meter

Ausrichtung
Neigung: °
Richtung: °
Polarisation: °

Antenne
Typ:
Gewinn: dbi
Öffnungswinkel: °   in der Polarisations-Ebene
  °   senkrecht zur Polarisations-Ebene
Notiz
 
   

Hinweis: Es gibt zwei verschiedene Kartentechniken, die sich in der Art der Datenerhebung unterscheiden. Beide verbinden die gesammelten Informationen mit dem Karten-Material, dass von einem Dienstleister im Internet bereit gestellt wird. Zur Zeit existieren beide Kartentechniken parallel und ohne Datenaustausch untereinander.

Lokale dezentrale Karte:
Diese Kartentechnik verbreitet Geo-Positionen und Node-Namen mit dem OLSR-Protokoll. Es wird kein zusätzlicher Server benötigt, denn die einzelnen Router können sich gegenseitig informieren. Es können nur Stationen im eigenen Funknetz angezeigt werden. Diese Karte verwendet das anmeldefreie Microsoft Virtual Earth und das ebenfalls anmeldefreie Google-Earth-Programm.
Globale serverbasierte Freifunk-Karte:
Diese Kartentechnik sammelt die Geo-Posiitionen und die auf dieser Seite eingegebenen Daten auf einem zentralen Server im Internet. Damit können auch Stationen in fremden Funknetzen angezeigt werden. Insbesondere die Antennendaten sollen zukünftig eine server-gestützte Funkfeldplanung ermöglichen. Diese Karte verwendet Google-Maps mit der Google-Anmeldung des Server-Inhabers.
EOF else IFS=\&;set ${QUERY_STRING%%[^%&=+-:@-_a-z~]*};unset IFS;eval $* DIRTY= if [ -n "$post_map" ]; then ff_map_hfinfo="A_type:${A_type};A_gain:${A_gain};A_angP:${A_angP};A_angO:${A_angO};A_Vpos:${A_Vpos};A_Hdir:${A_Hdir};A_Vdir:${A_Vdir};A_PolE:${A_PolE};" for V in ff_map_server ff_map_hfinfo ff_map_update ff_adm_note ff_adm_latlon; do eval "C=\$$V" C=$(unescape $C) if [ "$C" != "$(nvram get $V)" ]; then DIRTY=1 nvram set $V="$C" fi done fi if [ -n "$DIRTY" ]; then nvram unset ff_adm_gps nvram commit>/dev/null 2>&1 /etc/init.d/S70freifunkmap start cat< Änderungen übernommen. EOF if [ "disabled" != "$ff_map_update" ];then cat<
Aktualisiere Daten auf dem Map-Server (einen Moment Geduld bitte)...
$(/etc/init.d/S70freifunkmap update ERROR)
...fertig.
EOF fi cat< EOF else cat< Es wurden keine Einstellungen geändert. EOF fi fi . ${SCRIPT%/*}/cgi-bin-post.sh