]> git.proxmox.com Git - pmg-api.git/blobdiff - src/PMG/CLI/pmgqm.pm
refactor domain_regex to Utils
[pmg-api.git] / src / PMG / CLI / pmgqm.pm
index 937269f510684b8ee03ce515ecf2ba780ce1026f..39253dbfe0ae632798b2c537acae3f50a538a875 100755 (executable)
@@ -33,31 +33,6 @@ sub setup_environment {
     PMG::RESTEnvironment->setup_default_cli_env();
 }
 
-sub domain_regex {
-    my ($domains) = @_;
-
-    my @ra;
-    foreach my $d (@$domains) {
-       # skip domains with non-DNS name characters
-       next if $d =~ m/[^A-Za-z0-9\-\.]/;
-       if ($d =~ m/^\.(.*)$/) {
-           my $dom = $1;
-           $dom =~ s/\./\\\./g;
-           push @ra, $dom;
-           push @ra, "\.\*\\.$dom";
-       } else {
-           $d =~ s/\./\\\./g;
-           push @ra, $d;
-       }
-    }
-
-    my $re = join ('|', @ra);
-
-    my $regex = qr/\@($re)$/i;
-
-    return $regex;
-}
-
 sub get_item_data {
     my ($data, $ref) = @_;
 
@@ -145,7 +120,7 @@ __PACKAGE__->register_method ({
        my $dbh = PMG::DBTools::open_ruledb();
 
        my $domains = PVE::INotify::read_file('domains');
-       my $domainregex = domain_regex([keys %$domains]);
+       my $domainregex = PMG::Utils::domain_regex([keys %$domains]);
 
        my $sth = $dbh->prepare(
            "SELECT pmail, AVG(spamlevel) as spamlevel, count(*)  FROM CMailStore, CMSReceivers " .
@@ -278,7 +253,7 @@ __PACKAGE__->register_method ({
        }
 
        my $domains = PVE::INotify::read_file('domains');
-       my $domainregex = domain_regex([keys %$domains]);
+       my $domainregex = PMG::Utils::domain_regex([keys %$domains]);
 
        my $template = "spamreport-${reportstyle}.tt";
        my $found = 0;