diff --git a/contrib/statistics/2017/statistics2.cgi b/contrib/statistics/2017/statistics2.cgi index e5694e6ee..9e65ca4d8 100755 --- a/contrib/statistics/2017/statistics2.cgi +++ b/contrib/statistics/2017/statistics2.cgi @@ -39,6 +39,8 @@ use Geo::IP; sub insertDB(); sub getLocation(); +sub revInfo($); +sub makeOfficial(); sub add2total(); sub doAggregate(); sub viewStatistics(); @@ -88,6 +90,7 @@ sub insertDB() { my $decoded = decode_json($json); $json = revInfo($decoded) if (defined($decoded->{'system'}{'revision'})); + makeOfficial(); # delete inofficial modules from statistics data $dbh = DBI->connect($dsn,"","", { RaiseError => 1, ShowErrorStatement => 1 }) || die "Cannot connect: $DBI::errstr"; @@ -137,6 +140,15 @@ sub revInfo($) { } } +sub makeOfficial() { + my %official = (); + open (FH, "$fhemPathSvn/controls_fhem.txt") || die "Sorry!!"; + while () { $official{$1} = 1 if ($_ =~ /FHEM\/\d\d_(.*)\.pm/) } + close FH; + foreach my $key (keys %$decoded) { delete $decoded->{$key} unless $official{$key} } + return; +} + sub add2total() { my $today = strftime("%Y-%m-%d", localtime);