X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=scripts%2Fservice;h=df3bc2c04b070a26063728c00f3e7344f0bf75bb;hb=refs%2Fheads%2Fmaster;hp=0196e266d3e17da5a242d8b9b3f2efd4989704e3;hpb=0c2305d4c89d165140bc955a50f3248c9c9ba7ad;p=debbugs.git diff --git a/scripts/service b/scripts/service index 0196e26..df3bc2c 100755 --- a/scripts/service +++ b/scripts/service @@ -7,7 +7,6 @@ use warnings; use strict; -use locale; use POSIX qw(strftime locale_h); setlocale(LC_TIME, "C"); @@ -33,14 +32,14 @@ use Debbugs::Versions::Dpkg; use Debbugs::Status qw(splitpackages); use Debbugs::CGI qw(html_escape); -use Debbugs::Control qw(:all); +use Debbugs::Control qw(:all valid_usertag); use Debbugs::Control::Service qw(:all); use Debbugs::Log qw(:misc); use Debbugs::Text qw(:templates); use Scalar::Util qw(looks_like_number); -use List::AllUtils qw(first); +use List::AllUtils qw(first uniqnum); use Mail::RFC822::Address; use Encode qw(decode encode); @@ -426,7 +425,7 @@ END my %chtags; if (defined $tags and length $tags) { for my $t (split /[,\s]+/, $tags) { - if ($t =~ m/^[a-zA-Z0-9.+\@-]+$/) { + if (valid_usertag($t)) { $chtags{$t} = 1; } else { push @badtags, $t; @@ -456,7 +455,11 @@ END } else { print {$transcript} "Usertags were: " . join(" ", @oldtags) . ".\n"; } - print {$transcript} "Usertags are now: " . join(" ", @newtags) . ".\n"; + if (@newtags == 0) { + print {$transcript} "There are now no usertags set.\n"; + } else { + print {$transcript} "Usertags are now: " . join(" ", @newtags) . ".\n"; + } Debbugs::User::write_usertags(\%ut, $user); } } elsif (!$control) { @@ -519,7 +522,7 @@ eval{ $temp_transcript = decode("utf8",$temp_transcript,Encode::FB_CROAK); }; my $reply = - create_mime_message([From => "$gMaintainerEmail ($gProject $gBug Tracking System)", + create_mime_message([From => qq("$gProject $gBug Tracking System" <$gMaintainerEmail>), To => $replyto, @maintccs ? (Cc => join(', ',@maintccs)):(), Subject => "Processed${error_text}: $header{subject}", @@ -574,20 +577,15 @@ sub fill_template{ my $variables = {config => \%config, defined($ref)?(ref => $ref):(), defined($data)?(data => $data):(), - refs => [map {exists $clonebugs{$_}?$clonebugs{$_}:$_} keys %bug_affected], + refs => [sort + uniqnum(defined($ref)?($ref):(), + map {exists $clonebugs{$_}?$clonebugs{$_}:$_} + keys %bug_affected)], %{$extra_var}, }; - my $hole_var = {'&bugurl' => - sub{"$_[0]: ". - $config{cgi_domain}.'/'. - Debbugs::CGI::bug_links(bug=>$_[0], - links_only => 1, - ); - } - }; return fill_in_template(template => $template, variables => $variables, - hole_var => $hole_var, + output_type => 'text', ); } @@ -885,7 +883,7 @@ sub sendtxthelpraw { close(D); print {$transcript} "Sending $description in separate message.\n"; &sendmailmessage(< To: $replyto Subject: $gProject $gBug help: $description References: $header{'message-id'} @@ -913,7 +911,7 @@ sub sendlynxdocraw { } else { print {$transcript} "Sending $description.\n"; &sendmailmessage(< To: $replyto Subject: $gProject $gBugs information: $description References: $header{'message-id'} @@ -950,7 +948,7 @@ sub sendinfo { } print {$transcript} "Sending $description.\n"; &sendmailmessage(< To: $replyto Subject: $gProject $gBugs information: $description References: $header{'message-id'}