Files
pannello/condes/script/condes.pl
2016-05-30 15:34:58 +02:00

97 lines
2.0 KiB
Perl
Executable File

#!/usr/bin/perl
$|=1;
use DBI;
use FindBin qw($Bin);
my $param = shift @ARGV;
our $verbose = 0;
if ($param eq '-v') {
$verbose = 1;
} elsif ($param eq '-vv') {
$verbose = 2;
}
require "$Bin/condes.conf";
my $dbmysql = DBI->connect("DBI:mysql:;host=$DBhost", $DBuser, $DBpass) or die ($DBI::errstr);
$sts = $dbmysql->prepare("use $DBname");
$sts->execute ();
$query = " SELECT
condes_regole.id,
condes_regole.id_condes_macchine,
condes_regole.id_proxy_acl_list,
condes_macchine.id_proxy_pool,
proxy_pool.ip,
proxy_pool.nome,
proxy_acl_list.nome AS acl
FROM
condes_regole
JOIN
condes_macchine
ON
condes_regole.id_condes_macchine = condes_macchine.id
JOIN
proxy_pool
ON
condes_macchine.id_proxy_pool = proxy_pool.id
JOIN
proxy_acl_list
ON
condes_regole.id_proxy_acl_list = proxy_acl_list.id
WHERE
condes_regole.stato = 1
";
$sts = $dbmysql->prepare($query);
$sts->execute ();
while ( $ref = $sts->fetchrow_hashref ) {
$id = $$ref{'id'};
$condes_macchine = $$ref{'id_condes_macchine'};
$proxy_acl_list = $$ref{'id_proxy_acl_list'};
$proxy_pool = $$ref{'id_proxy_pool'};
$proxy_pool_ip = $$ref{'ip'};
$proxy_pool_nome = $$ref{'nome'};
$acl = $$ref{'acl'};
printf "Rimosso %-15s (%-10s) con lista %s\n", $proxy_pool_ip, $proxy_pool_nome, $acl if ($verbose);
$query = " UPDATE
proxy_acl_ip
SET
stato = 0,
data = NOW()
WHERE
idacllist = $proxy_acl_list
AND
idpool = $proxy_pool
";
my $sts = $dbmysql->prepare($query); $sts->execute ();
$query = " INSERT INTO
condes_logs
SET
id_utenti = 0,
id_condes_regole = $id,
stato = 0,
data = NOW()
";
$sts = $dbmysql->prepare($query); $sts->execute ();
$query = " UPDATE
condes_regole
SET
stato = 0,
modifica = NOW()
WHERE
id_condes_macchine = $condes_macchine
AND
id_proxy_acl_list = $proxy_acl_list
";
$sts = $dbmysql->prepare($query); $sts->execute ();
}
exit;