my @bugs;
while (<$flatfile>) {
next unless m/^(\S+)\s+(\d+)\s+(\d+)\s+(\S+)\s+\[\s*([^]]*)\s*\]\s+(\w+)\s+(.*)$/;
- my ($pkg,$bug,$status,$submitter,$severity,$tags) = ($1,$2,$3,$4,$5,$6,$7);
+ my ($pkg,$bug,$time,$status,$submitter,$severity,$tags) = ($1,$2,$3,$4,$5,$6,$7);
next if exists $param{bug} and not grep {$bug == $_} __make_list($param{bugs});
if (exists $param{pkg}) {
my @packages = splitpackages($pkg);
qw($gIncomingDir $gWebDir $gDocDir $gMaintainerFile),
qw($gMaintainerFileOverride $gPseudoDescFile $gPackageSource),
qw($gVersionPackagesDir $gVersionIndex $gBinarySourceMap $gSourceBinaryMap),
- qw($gSendmail $gLibPath $gSpamScan),
+ qw($gSendmail $gLibPath $gSpamScan @gExcludeFromControl),
qw(%gSeverityDisplay @gTags @gSeverityList @gStrongSeverities),
qw(%gSearchEstraier),
qw(@gPostProcessall),
+=item exclude_from_control
+
+Addresses which are not allowed to send messages to control
+
+=cut
+
+set_default(\%config,'exclude_from_control',[]);
if defined $stanza{"Cat${i}Default"};
if (defined $stanza{"Cat${i}Order"}) {
my @temp = split /\s*,\s*/, $stanza{"Cat${i}Order"};
+ my %temp;
my $min = min(@temp);
- @temp = map {$_-$min} @temp;
- $c{ord} = [@temp];
+ # Order to 0 minimum; strip duplicates
+ $c{ord} = [map {$temp{$_}++;
+ $temp{$_}>1?():($_-$min);
+ } @temp
+ ];
}
my @pri; my @ttl;
for my $l (split /\n/, $stanza{"Cat${i}Options"}) {
my $quickabort = 0;
-my $fuckheads = "(" . join("|", @gFuckheads) . ")";
-if (@gFuckheads and $replyto =~ m/$fuckheads/) {
- &transcript("This service is unavailable.\n\n");
+my $fuckheads = "(" . join("|", @gExcludeFromControl) . ")";
+if (@gExcludeFromControl and $replyto =~ m/$fuckheads/) {
+ &transcript("You have been specifically excluded from using the\ncontrol interface.\n\n");
+ &transcript("Have a nice day\n\n.");
$quickabort = 1;
}
if (@cats) {
&transcript("Added usercategory $catname.\n\n");
$u->{"categories"}->{$catname} = [ @cats ];
+ $u->{visible_cats}{$catname} = $hidden;
} else {
&transcript("Removed usercategory $catname.\n\n");
delete $u->{"categories"}->{$catname};
+ delete $u->{visible_cats}{$catname};
}
$u->write();
} elsif (m/^usertags?\s+\#?(-?\d+)\s+(([=+-])\s*)?(\S.*)?$/i) {
\$gSendmail='$sendmail_tester';
\$gSpoolDir='$spool_dir';
\$gLibPath='@{[getcwd()]}/scripts';
+\$gWebHost='localhost';
1;
END
"$spool_dir/nextnumber" => qq(1\n),