blob: 13ccd177bdfb5bc34c8210b5f729fb76fadc4ac6 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
#! /usr/bin/perl
# vim:ts=8:sw=8
use lib '/opt/gondul/include';
use utf8;
use nms::web qw($dbh db_safe_quote get_input finalize_output);
use strict;
use warnings;
my $in = get_input();
my %tmp = %{JSON::XS::decode_json($in)};
my $q = $nms::web::dbh->prepare("INSERT INTO linknets (switch1, switch2) VALUES((SELECT switch FROM switches WHERE sysname = ? LIMIT 1), (SELECT switch FROM switches WHERE sysname = ? LIMIT 1));");
my $sth = $nms::web::dbh->prepare("SELECT linknet FROM linknets WHERE switch1 = (SELECT switch FROM switches WHERE sysname = ? LIMIT 1) and switch2 = (SELECT switch FROM switches WHERE sysname = ? LIMIT 1);");
$sth->execute($tmp{'switch1'}, $tmp{'switch2'});
my $affected = 0;
while ( my @row = $sth->fetchrow_array ) {
$affected += 1;
}
print "X-affected: $affected\n";
if ($affected eq 0) {
$q->execute($tmp{'switch1'}, $tmp{'switch2'});
}
$dbh->commit;
$nms::web::cc{'max-age'} = '0';
$nms::web::cc{'stale-while-revalidate'} = '0';
$nms::web::json{'state'} = 'ok';
print "X-ban: /api/public/.*\n";
finalize_output();
|