X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=cgi%2Fpkgindex.cgi;h=a0e91ae8978b6af7904175e7482e58d3f0ada75d;hb=90715b03ecd21d542a72a23870024d1fb28ca6c0;hp=c667aacab0e2d11905e2a9cd81b45f28347479ff;hpb=c6d8b358aee776d0b4d7ced29f086d7e32c2b21a;p=debbugs.git diff --git a/cgi/pkgindex.cgi b/cgi/pkgindex.cgi index c667aac..a0e91ae 100755 --- a/cgi/pkgindex.cgi +++ b/cgi/pkgindex.cgi @@ -4,10 +4,14 @@ use warnings; use strict; use POSIX qw(strftime nice); -use Debbugs::Config; +use Debbugs::Config qw(:globals :text :config); use CGI::Simple; -use Debbugs::CGI qw(cgi_parameters); -require './common.pl'; +use Debbugs::CGI qw(:util :url :html); +use Debbugs::Common qw(getmaintainers getparsedaddrs); +use Debbugs::Bugs qw(count_bugs); +use Debbugs::Status qw(:status); +use Debbugs::Packages qw(getpkgsrc); +use Debbugs::Text qw(:templates); nice(5); @@ -55,9 +59,6 @@ my %maintainers = %{&getmaintainers()}; my %strings = (); my $dtime = strftime "%a, %e %b %Y %T UTC", gmtime; -my $tail_html = '';#$gHTMLTail; -$tail_html = '';#$gHTMLTail; -$tail_html =~ s/SUBSTITUTE_DTIME/$dtime/; my %count; my $tag; @@ -66,7 +67,9 @@ my %htmldescrip = (); my %sortkey = (); if ($indexon eq "pkg") { $tag = "package"; - %count = countbugs(sub {my %d=@_; return splitpackages($d{"pkg"})}); + %count = count_bugs(function => sub {my %d=@_; return splitpackages($d{"pkg"})}, + archive => $archive, + ); if (defined $param{first}) { %count = map { if (/^\Q$param{first}\E/) { @@ -82,9 +85,9 @@ if ($indexon eq "pkg") { foreach my $pkg (keys %count) { $sortkey{$pkg} = lc $pkg; $htmldescrip{$pkg} = sprintf('%s (%s)', - pkgurl($pkg), - htmlsanit($pkg), - htmlmaintlinks(sub { $_[0] == 1 ? 'maintainer: ' + package_links(package => $pkg, links_only=>1), + html_escape($pkg), + htmlize_maintlinks(sub { $_[0] == 1 ? 'maintainer: ' : 'maintainers: ' }, $maintainers{$pkg})); } @@ -101,25 +104,27 @@ if ($indexon eq "pkg") { } } keys %count; } - %count = countbugs(sub {my %d=@_; + %count = count_bugs(function => sub {my %d=@_; return map { $pkgsrc->{$_} || $_ } splitpackages($d{"pkg"}); - }); + }, + archive => $archive, + ); $note = ""; foreach my $src (keys %count) { $sortkey{$src} = lc $src; $htmldescrip{$src} = sprintf('%s (%s)', - srcurl($src), - htmlsanit($src), - htmlmaintlinks(sub { $_[0] == 1 ? 'maintainer: ' + package_links(src => $src, links_only=>1), + html_escape($src), + htmlize_maintlinks(sub { $_[0] == 1 ? 'maintainer: ' : 'maintainers: ' }, $maintainers{$src})); } } elsif ($indexon eq "maint") { $tag = "maintainer"; my %email2maint = (); - %count = countbugs(sub {my %d=@_; + %count = count_bugs(function => sub {my %d=@_; return map { my @me = getparsedaddrs($maintainers{$_}); foreach my $addr (@me) { @@ -128,7 +133,9 @@ if ($indexon eq "pkg") { } map { $_->address } @me; } splitpackages($d{"pkg"}); - }); + }, + archive => $archive, + ); if (defined $param{first}) { %count = map { if (/^\Q$param{first}\E/) { @@ -144,19 +151,21 @@ if ($indexon eq "pkg") { $note .= "different addresses.

\n"; foreach my $maint (keys %count) { $sortkey{$maint} = lc $email2maint{$maint} || "(unknown)"; - $htmldescrip{$maint} = htmlmaintlinks('', $email2maint{$maint}); + $htmldescrip{$maint} = htmlize_maintlinks('', $email2maint{$maint}); } } elsif ($indexon eq "submitter") { $tag = "submitter"; my %fullname = (); - %count = countbugs(sub {my %d=@_; + %count = count_bugs(function => sub {my %d=@_; my @se = getparsedaddrs($d{"submitter"} || ""); foreach my $addr (@se) { $fullname{$addr->address} = $addr->format unless exists $fullname{$addr->address}; } map { $_->address } @se; - }); + }, + archive => $archive, + ); if (defined $param{first}) { %count = map { if (/^\Q$param{first}\E/) { @@ -171,14 +180,16 @@ if ($indexon eq "pkg") { $sortkey{$sub} = lc $fullname{$sub}; $htmldescrip{$sub} = sprintf('%s', submitterurl($sub), - htmlsanit($fullname{$sub})); + html_escape($fullname{$sub})); } $note = "

Note that people may use different email accounts for\n"; $note .= "different bugs, so there may be other reports filed under\n"; $note .= "different addresses.

\n"; } elsif ($indexon eq "tag") { $tag = "tag"; - %count = countbugs(sub {my %d=@_; return split ' ', $d{tags}; }); + %count = count_bugs(function => sub {my %d=@_; return split ' ', $d{tags}; }, + archive => $archive, + ); if (defined $param{first}) { %count = map { if (/^\Q$param{first}\E/) { @@ -194,7 +205,7 @@ if ($indexon eq "pkg") { $sortkey{$keyword} = lc $keyword; $htmldescrip{$keyword} = sprintf('%s', tagurl($keyword), - htmlsanit($keyword)); + html_escape($keyword)); } } @@ -221,11 +232,12 @@ print "Content-Type: text/html\n\n"; print "\n"; print "\n" . - "$debbugs::gProject$Archived $debbugs::gBug reports by $tag\n" . + "$gProject$Archived $gBug reports by $tag\n" . + qq() . "\n" . '' . "\n"; -print "

" . "$debbugs::gProject$Archived $debbugs::gBug report logs by $tag" . +print "

" . "$gProject$Archived $gBug report logs by $tag" . "

\n"; print $note; @@ -254,6 +266,8 @@ else { print $result; print "
\n"; -print "

$tail_html"; - +print fill_in_template(template=>'html/html_tail', + hole_var => {'&strftime' => \&POSIX::strftime, + }, + ); print "\n";