X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=Debbugs%2FCGI.pm;h=7dabb1ef47cd394d46c3ad51f3a494067d5b9277;hb=466f7faff129a5699c7674f59900a92aa256175d;hp=7cc7f4166481335a7d9a6c6fda95b0f2fe694602;hpb=06424150844462de782ae112aa26c80dfa8d9401;p=debbugs.git diff --git a/Debbugs/CGI.pm b/Debbugs/CGI.pm index 7cc7f41..7dabb1e 100644 --- a/Debbugs/CGI.pm +++ b/Debbugs/CGI.pm @@ -78,6 +78,7 @@ use Debbugs::User qw(); use Mail::Address; use POSIX qw(ceil); use Storable qw(dclone); +use Scalar::Util qw(looks_like_number); use List::AllUtils qw(max); use File::stat; @@ -146,6 +147,8 @@ Creates a link to the version cgi script =item fixed -- arrayref of fixed versions +=item format -- optional image format override + =item width -- optional width of graph =item height -- optional height of graph @@ -170,6 +173,9 @@ sub version_url{ fixed => {type => ARRAYREF, default => [], }, + format => {type => SCALAR, + optional => 1, + }, width => {type => SCALAR, optional => 1, }, @@ -468,23 +474,24 @@ returning htmlized links. =cut sub bug_links { + state $spec = {bug => {type => SCALAR|ARRAYREF, + optional => 1, + }, + links_only => {type => BOOLEAN, + default => 0, + }, + class => {type => SCALAR, + default => '', + }, + separator => {type => SCALAR, + default => ', ', + }, + options => {type => HASHREF, + default => {}, + }, + }; my %param = validate_with(params => \@_, - spec => {bug => {type => SCALAR|ARRAYREF, - optional => 1, - }, - links_only => {type => BOOLEAN, - default => 0, - }, - class => {type => SCALAR, - default => '', - }, - separator => {type => SCALAR, - default => ', ', - }, - options => {type => HASHREF, - default => {}, - }, - }, + spec => $spec, ); my %options = %{$param{options}}; @@ -501,8 +508,11 @@ sub bug_links { $_); } make_list($param{bug}) if exists $param{bug}; } else { - push @links, map {('bugreport.cgi?bug='.uri_escape_utf8($_), - $_)} + push @links, + map {my $b = ceil($_); + ('bugreport.cgi?bug='.$b, + $b)} + grep {looks_like_number($_)} make_list($param{bug}) if exists $param{bug}; } my @return;