aboutsummaryrefslogtreecommitdiffstats
path: root/web/nms.gathering.org/api/public/location
diff options
context:
space:
mode:
Diffstat (limited to 'web/nms.gathering.org/api/public/location')
-rwxr-xr-xweb/nms.gathering.org/api/public/location44
1 files changed, 44 insertions, 0 deletions
diff --git a/web/nms.gathering.org/api/public/location b/web/nms.gathering.org/api/public/location
new file mode 100755
index 0000000..b940007
--- /dev/null
+++ b/web/nms.gathering.org/api/public/location
@@ -0,0 +1,44 @@
+#! /usr/bin/perl
+# vim:ts=8:sw=8
+
+use lib '../../../../include';
+use nms::web;
+use strict;
+use warnings;
+use Data::Dumper;
+
+#my $query = $nms::web::dbh->prepare("select * from switches where '185.110.150.7' << subnet4");
+my $query = $nms::web::dbh->prepare("select * from switches where ? << subnet4 or ? << subnet6");
+
+print "Cache-Control: max-age=0";
+print "Content-Type: text/html";
+print "\n\n";
+
+# get user ip from somewhere.
+# HTTP_X_FORWARDED_FOR is set by varnish. When using varnish, the REMOTE_ADDR will always be localhost.
+
+my @xff = split(",",$ENV{HTTP_X_FORWARDED_FOR});
+my $addr = $xff[0] // $ENV{REMOTE_ADDR};
+
+$query->execute($addr,$addr);
+
+# add start html: header + body etc.
+print "
+<html>
+ <body style=\"text-align: center; font-size: 50pt;\">
+";
+
+# print address
+print "" . $addr ."<br \>";
+
+# print switch name and distroname.
+while ( my $ref = $query->fetchrow_hashref() ) {
+ print $ref->{sysname}. " @ " . $ref->{distro};
+ print "<br />";
+}
+
+# add end html
+print "
+ </body>
+</html>
+";