summaryrefslogtreecommitdiffstats
path: root/xml.cgi
diff options
context:
space:
mode:
Diffstat (limited to 'xml.cgi')
-rwxr-xr-xxml.cgi30
1 files changed, 13 insertions, 17 deletions
diff --git a/xml.cgi b/xml.cgi
index 8b71b3837..1773ec6cf 100755
--- a/xml.cgi
+++ b/xml.cgi
@@ -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;
}