summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--template/default/show/choose_xml.html.tmpl46
-rwxr-xr-xxml.cgi30
2 files changed, 59 insertions, 17 deletions
diff --git a/template/default/show/choose_xml.html.tmpl b/template/default/show/choose_xml.html.tmpl
new file mode 100644
index 000000000..7418be91d
--- /dev/null
+++ b/template/default/show/choose_xml.html.tmpl
@@ -0,0 +1,46 @@
+[%# The contents of this file are subject to the Mozilla Public
+ # License Version 1.1 (the "License"); you may not use this file
+ # except in compliance with the License. You may obtain a copy of
+ # the License at http://www.mozilla.org/MPL/
+ #
+ # Software distributed under the License is distributed on an "AS
+ # IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+ # implied. See the License for the specific language governing
+ # rights and limitations under the License.
+ #
+ # The Original Code is the Bugzilla Bug Tracking System.
+ #
+ # The Initial Developer of the Original Code is Netscape Communications
+ # Corporation. Portions created by Netscape are
+ # Copyright (C) 1998 Netscape Communications Corporation. All
+ # Rights Reserved.
+ #
+ # Contributor(s): Gervase Markham <gerv@gerv.net>
+ #%]
+
+[% INCLUDE global/header
+ title = "Display bugs as XML"
+ %]
+
+<form method="get" action="xml.cgi">
+ <table>
+ <tr>
+ <td>
+ Display bugs as XML by entering a list of bug numbers here:
+ </td>
+ <td>
+ <input name="id" size="30" />
+ <input type="submit" value="Display as XML" />
+ </td>
+ </tr>
+
+ <tr>
+ <td>&nbsp;</td>
+ <td>
+ (e.g. 1000, 2467, 852)
+ </td>
+ </tr>
+ </table>
+</form>
+
+[% INCLUDE global/footer %]
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;
}