X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=FS%2FFS%2FNetworkMonitoringSystem%2FTorrus_Internal.pm;fp=FS%2FFS%2FNetworkMonitoringSystem%2FTorrus_Internal.pm;h=b55d0aaf7d586abfe6ed364e65e7c22ba024f32b;hp=985b1be051cf0cbd220a2db01b89c9f2cc6d0a90;hb=f4f7bb4086cdaf2699c6d028b76e99b3e9be1e90;hpb=8cec20dd7f69a3fb7b6a5e6a853747833e8a7784 diff --git a/FS/FS/NetworkMonitoringSystem/Torrus_Internal.pm b/FS/FS/NetworkMonitoringSystem/Torrus_Internal.pm index 985b1be05..b55d0aaf7 100644 --- a/FS/FS/NetworkMonitoringSystem/Torrus_Internal.pm +++ b/FS/FS/NetworkMonitoringSystem/Torrus_Internal.pm @@ -8,7 +8,7 @@ use File::Slurp qw(slurp); use Date::Format; use XML::Simple; use FS::svc_port; -use FS::Record qw(qsearch); +use FS::Record qw(qsearch dbh); use Torrus::ConfigTree; #$DEBUG = 0; @@ -226,4 +226,23 @@ sub _torrus_reload { } +sub torrus_serviceids { + my $self = shift; + + #is this going to get too slow or will the index make it okay? + my $sth = dbh->prepare("SELECT DISTINCT(serviceid) FROM srvexport") + or die dbh->errstr; + $sth->execute or die $sth->errstr; + my %serviceid = (); + while ( my $row = $sth->fetchrow_arrayref ) { + my $serviceid = $row->[0]; + $serviceid =~ s/_(IN|OUT)$//; + $serviceid{$serviceid}=1; + } + my @serviceids = sort keys %serviceid; + + @serviceids; + +} + 1;