aboutsummaryrefslogtreecommitdiffstats
path: root/web/js/map-OpenStreetMap.js
Commit message (Expand)AuthorAgeLines
* Extra maxResolution option was needed for MapQuest tilesGuillaume2012-03-20-1/+6
* Removed obsolete Osmarender, added MapQuestOpenGuillaume2012-03-20-8/+9
* Finished style and interaction for mobile mapJosh Angell2012-02-29-1/+1
* Make permalink_id not globalJosh Angell2012-02-29-0/+1
* Manipulate permalink only if container for it is thereJosh Angell2012-02-29-1/+4
* Explicity function calls.Matthew Somerville2012-02-29-1/+1
* Main part of mobile site full screen map for reporting a problem.Matthew Somerville2012-02-29-1/+1
* Fixes to other map types to work with lat/lon. Split OSM JavaScript into core...Matthew Somerville2011-03-09-182/+9
* Store report ID on loop, as otherwise closure uses last value.Matthew Somerville2011-03-08-1/+5
* No need for all pins yet (does nothing <6 months), hide pins using OL JS if p...Matthew Somerville2011-02-24-10/+66
* Override PanZoom to catch zoomworld click.Matthew Somerville2011-02-23-1/+38
* Display pins.Matthew Somerville2011-02-17-6/+17
* First pin pass.Matthew Somerville2011-02-16-0/+13
* Map clicking.Matthew Somerville2011-02-16-4/+42
* Tweaks to OSM map module, fix for truncated co-ords.Matthew Somerville2011-02-14-4/+4
* Some OpenLayers options, including StreetView and CycleMap, and putting tilma...Matthew Somerville2010-11-26-0/+150
nt.Multiline */ .highlight .cp { color: #cc0000; font-weight: bold } /* Comment.Preproc */ .highlight .cpf { color: #888888 } /* Comment.PreprocFile */ .highlight .c1 { color: #888888 } /* Comment.Single */ .highlight .cs { color: #cc0000; font-weight: bold; background-color: #fff0f0 } /* Comment.Special */ .highlight .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */ .highlight .ge { font-style: italic } /* Generic.Emph */ .highlight .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */ .highlight .gr { color: #aa0000 } /* Generic.Error */ .highlight .gh { color: #333333 } /* Generic.Heading */ .highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */ .highlight .go { color: #888888 } /* Generic.Output */ .highlight .gp { color: #555555 } /* Generic.Prompt */ .highlight .gs { font-weight: bold } /* Generic.Strong */ .highlight .gu { color: #666666 } /* Generic.Subheading */ .highlight .gt { color: #aa0000 } /* Generic.Traceback */ .highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */ .highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */ .highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */ .highlight .kp { color: #008800 } /* Keyword.Pseudo */ .highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */ .highlight .kt { color: #888888; font-weight: bold } /* Keyword.Type */ .highlight .m { color: #0000DD; font-weight: bold } /* Literal.Number */ .highlight .s { color: #dd2200; background-color: #fff0f0 } /* Literal.String */ .highlight .na { color: #336699 } /* Name.Attribute */ .highlight .nb { color: #003388 } /* Name.Builtin */ .highlight .nc { color: #bb0066; font-weight: bold } /* Name.Class */ .highlight .no { color: #003366; font-weight: bold } /* Name.Constant */ .highlight .nd { color: #555555 } /* Name.Decorator */ .highlight .ne { color: #bb0066; font-weight: bold } /* Name.Exception */ .highlight .nf { color: #0066bb; font-weight: bold } /* Name.Function */ .highlight .nl { color: #336699; font-style: italic } /* Name.Label */ .highlight .nn { color: #bb0066; font-weight: bold } /* Name.Namespace */ .highlight .py { color: #336699; font-weight: bold } /* Name.Property */ .highlight .nt { color: #bb0066; font-weight: bold } /* Name.Tag */ .highlight .nv { color: #336699 } /* Name.Variable */ .highlight .ow { color: #008800 } /* Operator.Word */ .highlight .w { color: #bbbbbb } /* Text.Whitespace */ .highlight .mb { color: #0000DD; font-weight: bold } /* Literal.Number.Bin */ .highlight .mf { color: #0000DD; font-weight: bold } /* Literal.Number.Float */ .highlight .mh { color: #0000DD; font-weight: bold } /* Literal.Number.Hex */ .highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */ .highlight .mo { color: #0000DD; font-weight: bold } /* Literal.Number.Oct */ .highlight .sa { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Affix */ .highlight .sb { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Backtick */ .highlight .sc { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Char */ .highlight .dl { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Delimiter */ .highlight .sd { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Doc */ .highlight .s2 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Double */ .highlight .se { color: #0044dd; background-color: #fff0f0 } /* Literal.String.Escape */ .highlight .sh { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Heredoc */ .highlight .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */ .highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */ .highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */ .highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */ .highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */ .highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */ .highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */ .highlight .vc { color: #336699 } /* Name.Variable.Class */ .highlight .vg { color: #dd7700 } /* Name.Variable.Global */ .highlight .vi { color: #3333bb } /* Name.Variable.Instance */ .highlight .vm { color: #336699 } /* Name.Variable.Magic */ .highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
#!/usr/bin/perl -I /root/tgmanage
use strict;
use Net::IP;
use NetAddr::IP;

BEGIN {
        require "include/config.pm";
        eval {
                require "include/config.local.pm";
        };
}

my $base = "/etc";
$base = $ARGV[0] if $#ARGV > -1;
$base .= "/" if not $base =~ m/\/$/ and not $base eq "";

my $dhcpd_base = $base . "dhcp/";
my $dhcpd_conf = $dhcpd_base . "dhcpd.conf";
my $dhcpd_pxeconf = $dhcpd_base . "v4-pxe-boot.conf";
my $dhcpd_wlc_conf = $dhcpd_base . "v4-wlc.conf";
my $dhcpd_voip_conf = $dhcpd_base . "v4-voip.conf";

# primary
my $pri_range = Net::IP->new($nms::config::pri_net_v4) or die ("pri_range fail");
my $pri_mask = $pri_range->mask();
my $pri_net = $pri_range->ip();

# secondary
my $sec_range = Net::IP->new($nms::config::sec_net_v4) or die ("sec_range fail");
my $sec_mask = $sec_range->mask();
my $sec_net = $sec_range->ip();
(my $sec_last = NetAddr::IP->new($nms::config::sec_net_v4)->last()) =~ s/\/[0-9]{1,2}//;
(my $sec_gw = NetAddr::IP->new($nms::config::sec_net_v4)->first()) =~ s/\/[0-9]{1,2}//;
my $sec_num = NetAddr::IP->new($nms::config::sec_net_v4)->num();
my $sec_n = $sec_num - int($sec_num / 4); # don't use more than 1/4 of the net for DHCP
(my $sec_first = NetAddr::IP->new($nms::config::sec_net_v4)->nth($sec_n)) =~ s/\/[0-9]{1,2}//;

# Create main configuration file for DHCP
if ( not -f $dhcpd_conf )
{
		print STDERR "Creating file " . $dhcpd_conf . "\n";
		open DHCPDFILE, ">" . $dhcpd_conf or die ( $! . " " . $dhcpd_conf);

		print DHCPDFILE <<"EOF";
# GENERATED BY make-dhcpd.pl

# 60 min leasetime, 120 min max
default-lease-time 3600;
max-lease-time 7200;

# make server authorative
authoritative;

# Don't let clients set their own FQDN
ignore client-updates;

# enable DDNS
ddns-update-style interim;

# set ddns-hostname
if exists host-name {
        ddns-hostname = lcase(option host-name);
} elsif exists fqdn.hostname {
        ddns-hostname = lcase(option fqdn.hostname);
} else {
        ddns-hostname = binary-to-ascii(10, 8, "-", leased-address);
}

# Domain name (unless overriden elsewhere)
option domain-name "$nms::config::tgname.gathering.org";
option domain-name-servers $nms::config::pri_v4, $nms::config::sec_v4;

key DHCP_UPDATER {
        algorithm HMAC-MD5.SIG-ALG.REG.INT;
        secret $nms::config::ddns_key;
}

# Servernetwork, Tele
subnet $pri_net netmask $pri_mask {}
	
# Servernetwork, NOC
# Add small range at the end for PXE
subnet $sec_net netmask $sec_mask {
	option subnet-mask $sec_mask;
	option routers $sec_gw;

	# No DDNS
	ddns-updates off;
	ddns-hostname = none;
	ddns-domainname = none;
	
	# supershort leasetime
	default-lease-time 300;
	max-lease-time 600;
	
	range $sec_first $sec_last;
}

include "/etc/dhcp/v4-revzones.conf";
include "/etc/dhcp/v4-generated-include.conf";
include "$dhcpd_pxeconf";
include "$dhcpd_wlc_conf";
include "$dhcpd_voip_conf";

EOF
		close DHCPDFILE;
}

# Create PXE-boot configuration file for DHCP
if ( not -f $dhcpd_pxeconf )
{
		print STDERR "Creating file " . $dhcpd_pxeconf . "\n";
		open PXEFILE, ">" . $dhcpd_pxeconf or die ( $! . " " . $dhcpd_pxeconf);

		print PXEFILE <<"EOF";
option arch code 93 = unsigned integer 16;

if option arch = 00:07 {
	filename "bootx64.efi";
} else {
 	filename "pxelinux.0";
}

next-server $nms::config::pxe_server_v4;

EOF

		close PXEFILE;
}

# Create WLC configuration file
if ( not -f $dhcpd_wlc_conf )
{
		print STDERR "Creating file " . $dhcpd_wlc_conf . "\n";
		open WLCFILE, ">" . $dhcpd_wlc_conf or die ( $! . " " . $dhcpd_wlc_conf);

		print WLCFILE <<"EOF";
option space WLC;
option WLC.controller-address code 43 = text;
set vendor-string = option vendor-class-identifier;

class "access-points" {
	# Number of characters has to match the substring
	# I.e  if "Access Point", you have to use (0, 12)
	match if substring (option vendor-class-identifier, 0, 12) = "Access Point";
	vendor-option-space WLC;
	option WLC.controller-address "$nms::config::wlc1";
}
EOF
		close WLCFILE;
}

# Create VoIP config
if ( not -f $dhcpd_voip_conf )
{
		print STDERR "Creating file " . $dhcpd_voip_conf . "\n";
		open VOIPFILE, ">" . $dhcpd_voip_conf or die ( $! . " " . $dhcpd_voip_conf);

		print VOIPFILE <<"EOF";
option space CiscoVOIP;
option CiscoVOIP.cm-tftp-server code 150  = array of ip-address;

class "cisco-voip-lan" {
	match if substring (option vendor-class-identifier, 0, 28) = "Cisco Systems, Inc. IP Phone";
	vendor-option-space CiscoVOIP;
	log( info, concat( "LOLOPHONE: " , option vendor-class-identifier )); 
	option CiscoVOIP.cm-tftp-server $nms::config::voip1;
	next-server $nms::config::voip1;
}

class "cisco-voip-wlan" {
        match if substring (option vendor-class-identifier, 0, 33) = "Cisco Systems Inc. Wireless Phone";
        vendor-option-space CiscoVOIP;
        log( info, concat( "BANANAPHONE: " , option vendor-class-identifier ));
        option CiscoVOIP.cm-tftp-server $nms::config::voip1;
        next-server $nms::config::voip1;
}
EOF
		close VOIPFILE;
}