]> git.ipfire.org Git - thirdparty/bugzilla.git/commitdiff
Bug 126788 - templatise xml.cgi.
authorgerv%gerv.net <>
Wed, 27 Feb 2002 16:01:45 +0000 (16:01 +0000)
committergerv%gerv.net <>
Wed, 27 Feb 2002 16:01:45 +0000 (16:01 +0000)
template/default/show/choose_xml.html.tmpl [new file with mode: 0644]
xml.cgi

diff --git a/template/default/show/choose_xml.html.tmpl b/template/default/show/choose_xml.html.tmpl
new file mode 100644 (file)
index 0000000..7418be9
--- /dev/null
@@ -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 8b71b38376ca7e1a18ec9d1cc2db074d70feaea7..1773ec6cf4ceb11ce9857431f49882a661d0e6ca 100755 (executable)
--- 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;
 }