summaryrefslogtreecommitdiffstats
path: root/xml.cgi
blob: 51093890e69d96e7111f99f0dd3ae8f8da4c13a9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#!/usr/bonsaitools/bin/perl -w
# -*- Mode: perl; indent-tabs-mode: nil -*-
#
# 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): Dawn Endico    <endico@mozilla.org>
#                 Terry Weissman <terry@mozilla.org>

use diagnostics;
use strict;
use Bug;
require "CGI.pl";

if (!defined $::FORM{'id'} || $::FORM{'id'} !~ /^\s*\d+(,\d+)*\s*$/) {
  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();
  exit;
}

quietly_check_login();
my $exporter;
if (defined $::COOKIE{"Bugzilla_login"}) {
  $exporter = $::COOKIE{"Bugzilla_login"};
}

my @ids = split ( /,/, $::FORM{'id'} );

print "Content-type: text/plain\n\n";
print Bug::XML_Header( Param("urlbase"), $::param{'version'}, 
                        Param("maintainer"), $exporter );
foreach my $id (@ids) {
  my $bug = new Bug($id, $::userid);
  print $bug->emitXML;
}

print Bug::XML_Footer;