my @spammsgs;
print "\n$groupname: $msgfirst -> $msglast ($msgcount)\n";
-
- while (++$curmsgnum <= $msglast) {
+ my $aktive = 1;
+ while ($aktive && ++$curmsgnum <= $msglast) {
print "\n[$curmsgnum/$msglast] ============ $groupname ===========\n";
my $headersref = $nntp->head($curmsgnum);
print "**** Message already flagged as spam. Ignoring.\n";
next;
}
- print "Non-spam/Spam/view Body/view Full/jump #/Help/Quit [N] ? ";
+ print "Non-spam/Spam/sKip/view Body/view Full/jump #/Help/Quit [N] ? ";
my $input = <>;
chomp $input;
$input = "\L$input";
$curmsgnum = $msglast if $curmsgnum > $msglast;
print "Jumping to message number $1\n";
next;
+ } elsif ("k" eq $input) {
+ # Skip this group and move to the next group
+ $aktive = 0;
+ } elsif ("f" eq $input) {
+ # View message header and body
+ my $articleref = $nntp->article($curmsgnum);
+ list_lines($articleref);
+ $curmsgnum--;
+ } elsif ("b" eq $input) {
+ # View message body
+ my $bodyref = $nntp->body($curmsgnum);
+ list_lines($bodyref);
+ $curmsgnum--;
+ } elsif ("h" eq $input) {
+ # print help
} else {
print STDERR "error: Unhandled choice '$input'\n";
}
}
- for my $msgnum (@spammsgs) {
- report_spam($groupname, $msgnum);
+ if (@spammsgs) {
+ print "Submit changes? [yes] ";
+ my $input = <>;
+ chomp $input;
+ $input = "\L$input";
+ if ("" eq $input || "yes" eq $input) {
+ for my $msgnum (@spammsgs) {
+ report_spam($groupname, $msgnum);
+ }
+ }
}
$grouplast{$groupname} = --$curmsgnum;
print "Storing $curmsgnum as last read message in $groupname\n";
}
+sub list_lines {
+ my $arrayref = shift;
+ for (@{$arrayref}) {
+ print " ", $_;
+ }
+}
+
sub process_header {
my $headerref = shift;
my $subject;