diff options
Diffstat (limited to 'xml.cgi')
-rwxr-xr-x | xml.cgi | 30 |
1 files changed, 13 insertions, 17 deletions
@@ -20,6 +20,7 @@ # # Contributor(s): Dawn Endico <endico@mozilla.org> # Terry Weissman <terry@mozilla.org> +# Gervase Markham <gerv@gerv.net> use diagnostics; use strict; @@ -29,32 +30,27 @@ use lib qw(.); use Bug; require "CGI.pl"; +use vars qw($template $vars); + if (!defined $::FORM{'id'} || !$::FORM{'id'}) { - print "Content-type: text/html\n\n"; - PutHeader("Display as XML"); - print "<FORM METHOD=GET ACTION=\"xml.cgi\">\n"; - print "Display bugs as XML by entering a list of bug numbers here:\n"; - print "<INPUT NAME=id>\n"; - print "<INPUT TYPE=\"submit\" VALUE=\"Display as XML\"><br>\n"; - print " (e.g. 1000,1001,1002)\n"; - print "</FORM>\n"; - PutFooter(); + print "Content-Type: text/html\n\n"; + $template->process("show/choose_xml.html.tmpl", $vars) + || DisplayError("Template process failed: " . $template->error()) + && exit; exit; } quietly_check_login(); -my $exporter; -if (defined $::COOKIE{"Bugzilla_login"}) { - $exporter = $::COOKIE{"Bugzilla_login"}; -} -my @ids = split ( /,/, $::FORM{'id'} ); +my $exporter = $::COOKIE{"Bugzilla_login"} || undef; + +my @ids = split (/[, ]+/, $::FORM{'id'}); print "Content-type: text/plain\n\n"; -print Bug::XML_Header( Param("urlbase"), $::param{'version'}, - Param("maintainer"), $exporter ); +print Bug::XML_Header(Param("urlbase"), $::param{'version'}, + Param("maintainer"), $exporter); foreach my $id (@ids) { - my $bug = new Bug($id, $::userid); + my $bug = new Bug(trim($id), $::userid); print $bug->emitXML; } |