summaryrefslogtreecommitdiffstats
path: root/buglist.cgi
diff options
context:
space:
mode:
authorterry%netscape.com <>1998-11-17 04:43:49 +0100
committerterry%netscape.com <>1998-11-17 04:43:49 +0100
commit0ca30382be83fccfc4e352096c87c56bbf8a673c (patch)
tree36342c8de0050b5bed4b67b29a14eb97e78c5e28 /buglist.cgi
parent1cf02cc7c177a691ae9980f928ae30efb84a8c99 (diff)
downloadbugzilla-0ca30382be83fccfc4e352096c87c56bbf8a673c.tar.gz
bugzilla-0ca30382be83fccfc4e352096c87c56bbf8a673c.tar.xz
Patch by Andrew Anderson <andrew@redhat.com>. Many minor bugfixes and cleanup.
Diffstat (limited to 'buglist.cgi')
-rwxr-xr-xbuglist.cgi137
1 files changed, 72 insertions, 65 deletions
diff --git a/buglist.cgi b/buglist.cgi
index 8439ccbbd..c0cf44d47 100755
--- a/buglist.cgi
+++ b/buglist.cgi
@@ -24,13 +24,18 @@ use strict;
require "CGI.pl";
-my $serverpush = 1;
+my $serverpush = 0;
-if ($ENV{'HTTP_USER_AGENT'} =~ /MSIE/) {
- # Internet explorer doesn't seem to understand server push. What fun.
- $serverpush = 0;
+# Internet explorer and Lynx don't seem to understand server push. What fun.
+# Carefully coded to cope with the fact that MSIE puts both "MSIE" and
+# "Mozilla" in its user agent string.
+
+$_ = $ENV{'HTTP_USER_AGENT'};
+if ($_ =~/Mozilla/ && $_ !~ /MSIE/) {
+ $serverpush = 1;
}
+
if ($serverpush) {
print "Content-type: multipart/x-mixed-replace;boundary=thisrandomstring\n";
print "\n";
@@ -63,46 +68,47 @@ if (!defined $::FORM{'cmdtype'}) {
CMD: for ($::FORM{'cmdtype'}) {
/^runnamed$/ && do {
$::buffer = $::COOKIE{"QUERY_" . $::FORM{"namedcmd"}};
- ProcessFormFields $::buffer;
+ ProcessFormFields($::buffer);
last CMD;
};
/^editnamed$/ && do {
my $url = "query.cgi?" . $::COOKIE{"QUERY_" . $::FORM{"namedcmd"}};
print "Content-type: text/html
-Refresh: 0; URL=$url
+Refresh: 0; URL=$url\n\n";
-<TITLE>What a hack.</TITLE>
+PutHeader("What a hack.");
+print "
Loading your query named <B>$::FORM{'namedcmd'}</B>...";
exit;
};
/^forgetnamed$/ && do {
print "Set-Cookie: QUERY_" . $::FORM{'namedcmd'} . "= ; path=/ ; expires=Sun, 30-Jun-2029 00:00:00 GMT
-Content-type: text/html
+Content-type: text/html\n\n";
-<HTML>
-<TITLE>Forget what?</TITLE>
+PutHeader("Forget what?");
+print "
OK, the <B>$::FORM{'namedcmd'}</B> query is gone.
<P>
-<A HREF=query.cgi>Go back to the query page.</A>";
+<A HREF=\"query.cgi\">Go back to the query page.</A>
+";
exit;
};
/^asnamed$/ && do {
if ($::FORM{'newqueryname'} =~ /^[a-zA-Z0-9_ ]+$/) {
print "Set-Cookie: QUERY_" . $::FORM{'newqueryname'} . "=$::buffer ; path=/ ; expires=Sun, 30-Jun-2029 00:00:00 GMT
-Content-type: text/html
+Content-type: text/html\n\n";
-<HTML>
-<TITLE>OK, done.</TITLE>
+PutHeader("OK, done.");
+print "
OK, you now have a new query named <B>$::FORM{'newqueryname'}</B>.
-
<P>
-
-<A HREF=query.cgi>Go back to the query page.</A>";
+<A HREF=\"query.cgi\">Go back to the query page.</A>
+";
} else {
- print "Content-type: text/html
+ print "Content-type: text/html\n\n";
-<HTML>
-<TITLE>Picky, picky.</TITLE>
+PutHeader("Picky, picky.");
+print "
Query names can only have letters, digits, spaces, or underbars. You entered
\"<B>$::FORM{'newqueryname'}</B>\", which doesn't cut it.
<P>
@@ -112,15 +118,15 @@ Click the <B>Back</B> button and type in a valid name for this query.";
};
/^asdefault$/ && do {
print "Set-Cookie: DEFAULTQUERY=$::buffer ; path=/ ; expires=Sun, 30-Jun-2029 00:00:00 GMT
-Content-type: text/html
+Content-type: text/html\n\n";
-<HTML>
-<TITLE>OK, default is set.</TITLE>
+PutHeader("OK, default is set.");
+print "
OK, you now have a new default query.
<P>
-<A HREF=query.cgi>Go back to the query page, using the new default.</A>";
+<A HREF=\"query.cgi\">Go back to the query page, using the new default.</A>";
exit;
};
}
@@ -225,7 +231,8 @@ if (defined $::FORM{'sql'}) {
}
} else {
my $ref = $::MFORM{$field};
- foreach my $v (@$ref) {
+ foreach my $vv (@$ref) {
+ my $v = url_decode($vv);
if ($v eq "(empty)") {
$query .= "\t\t${or}bugs.$field is null\n";
} else {
@@ -328,20 +335,20 @@ if (defined $::FORM{'order'}) {
}
if ($dotweak) {
- pnl "<FORM NAME=changeform METHOD=POST ACTION=\"process_bug.cgi\">";
+ pnl "<FORM NAME=\"changeform\" METHOD=\"POST\" ACTION=\"process_bug.cgi\">";
}
-my $tablestart = "<TABLE CELLSPACING=0 CELLPADDING=2>
-<TR ALIGN=LEFT><TH>
+my $tablestart = "<TABLE CELLSPACING=\"0\" CELLPADDING=\"2\">
+<TR ALIGN=\"LEFT\"><TH>
<A HREF=\"buglist.cgi?$fields&order=bugs.bug_id\">ID</A>";
foreach my $c (@collist) {
if (exists $::needquote{$c}) {
if ($::needquote{$c}) {
- $tablestart .= "<TH WIDTH=100% valigh=left>";
+ $tablestart .= "<TH WIDTH=\"100%\" valigh=\"left\">";
} else {
- $tablestart .= "<TH valign=left>";
+ $tablestart .= "<TH valign=\"left\">";
}
if (defined $::sortkey{$c}) {
$tablestart .= "<A HREF=\"buglist.cgi?$fields&order=$::sortkey{$c}$oldorder\">$::title{$c}</A>";
@@ -370,9 +377,9 @@ while (@row = FetchSQLData()) {
pnl "</TABLE>$tablestart";
}
push @bugarray, $bug_id;
- pnl "<TR VALIGN=TOP ALIGN=LEFT><TD>";
+ pnl "<TR VALIGN=\"TOP\" ALIGN=\"LEFT\"><TD>";
if ($dotweak) {
- pnl "<input type=checkbox name=id_$bug_id>";
+ pnl "<input type=\"checkbox\" name=\"id_$bug_id\">";
}
pnl "<A HREF=\"show_bug.cgi?id=$bug_id\">";
pnl "$bug_id</A> ";
@@ -448,9 +455,9 @@ if (open (COMMENTS, "<data/comments")) {
}
-print "<HR><I><A HREF=newquip.html>$quip\n";
+print "<HR><I><A HREF=\"newquip.html\">$quip\n";
print "</I></A></CENTER>\n";
-print "<HR SIZE=10>$tablestart\n";
+print "<HR SIZE=\"10\">$tablestart\n";
print $::bugl;
print "</TABLE>\n";
@@ -473,7 +480,7 @@ function SetCheckboxes(value) {
item.checked = value;
}
}
-document.write(\" <input type=button value=\\\"Uncheck All\\\" onclick=\\\"SetCheckboxes(false);\\\"> <input type=button value=\\\"Check All\\\" onclick=\\\"SetCheckboxes(true);\\\">\");
+document.write(\" <input type=\\\"button\\\" value=\\\"Uncheck All\\\" onclick=\\\"SetCheckboxes(false);\\\"> <input type=\\\"button\\\" value=\\\"Check All\\\" onclick=\\\"SetCheckboxes(true);\\\">\");
</SCRIPT>";
my $resolution_popup = make_options(\@::legal_resolution_no_dup, "FIXED");
my @prod_list = keys %prodhash;
@@ -497,52 +504,52 @@ document.write(\" <input type=button value=\\\"Uncheck All\\\" onclick=\\\"SetCh
<hr>
<TABLE>
<TR>
- <TD ALIGN=RIGHT><B>Product:</B></TD>
- <TD><SELECT NAME=product>$product_popup</SELECT></TD>
- <TD ALIGN=RIGHT><B>Version:</B></TD>
- <TD><SELECT NAME=version>$version_popup</SELECT></TD>
+ <TD ALIGN=\"RIGHT\"><B>Product:</B></TD>
+ <TD><SELECT NAME=\"product\">$product_popup</SELECT></TD>
+ <TD ALIGN=\"RIGHT\"><B>Version:</B></TD>
+ <TD><SELECT NAME=\"version\">$version_popup</SELECT></TD>
<TR>
- <TD ALIGN=RIGHT><B><A HREF=\"bug_status.html#rep_platform\">Platform:</A></B></TD>
- <TD><SELECT NAME=rep_platform>$platform_popup</SELECT></TD>
- <TD ALIGN=RIGHT><B><A HREF=\"bug_status.html#priority\">Priority:</A></B></TD>
- <TD><SELECT NAME=priority>$priority_popup</SELECT></TD>
+ <TD ALIGN=\"RIGHT\"><B><A HREF=\"bug_status.html#rep_platform\">Platform:</A></B></TD>
+ <TD><SELECT NAME=\"rep_platform\">$platform_popup</SELECT></TD>
+ <TD ALIGN=\"RIGHT\"><B><A HREF=\"bug_status.html#priority\">Priority:</A></B></TD>
+ <TD><SELECT NAME=\"priority\">$priority_popup</SELECT></TD>
</TR>
<TR>
- <TD ALIGN=RIGHT><B>Component:</B></TD>
- <TD><SELECT NAME=component>$component_popup</SELECT></TD>
- <TD ALIGN=RIGHT><B><A HREF=\"bug_status.html#severity\">Severity:</A></B></TD>
- <TD><SELECT NAME=bug_severity>$sev_popup</SELECT></TD>
+ <TD ALIGN=\"RIGHT\"><B>Component:</B></TD>
+ <TD><SELECT NAME=\"component\">$component_popup</SELECT></TD>
+ <TD ALIGN=\"RIGHT\"><B><A HREF=\"bug_status.html#severity\">Severity:</A></B></TD>
+ <TD><SELECT NAME=\"bug_severity\">$sev_popup</SELECT></TD>
</TR>
</TABLE>
-<INPUT NAME=multiupdate value=Y TYPE=hidden>
+<INPUT NAME=\"multiupdate\" value=\"Y\" TYPE=\"hidden\">
<B>Additional Comments:</B>
<BR>
-<TEXTAREA WRAP=HARD NAME=comment ROWS=5 COLS=80></TEXTAREA><BR>";
+<TEXTAREA WRAP=\"HARD\" NAME=\"comment\" ROWS=\"5\" COLS=\"80\"></TEXTAREA><BR>";
# knum is which knob number we're generating, in javascript terms.
my $knum = 0;
print "
-<INPUT TYPE=radio NAME=knob VALUE=none CHECKED>
+<INPUT TYPE=\"radio\" NAME=\"knob\" VALUE=\"none\" CHECKED>
Do nothing else<br>";
$knum++;
print "
-<INPUT TYPE=radio NAME=knob VALUE=accept>
+<INPUT TYPE=\"radio\" NAME=\"knob\" VALUE=\"accept\">
Accept bugs (change status to <b>ASSIGNED</b>)<br>";
$knum++;
if (!defined $statushash{'CLOSED'} &&
!defined $statushash{'VERIFIED'} &&
!defined $statushash{'RESOLVED'}) {
print "
-<INPUT TYPE=radio NAME=knob VALUE=clearresolution>
+<INPUT TYPE=\"radio\" NAME=\"knob\" VALUE=\"clearresolution\">
Clear the resolution<br>";
$knum++;
print "
-<INPUT TYPE=radio NAME=knob VALUE=resolve>
+<INPUT TYPE=\"radio\" NAME=\"knob\" VALUE=\"resolve\">
Resolve bugs, changing <A HREF=\"bug_status.html\">resolution</A> to
- <SELECT NAME=resolution
+ <SELECT NAME=\"resolution\"
ONCHANGE=\"document.changeform.knob\[$knum\].checked=true\">
$resolution_popup</SELECT><br>";
$knum++;
@@ -551,38 +558,38 @@ document.write(\" <input type=button value=\\\"Uncheck All\\\" onclick=\\\"SetCh
!defined $statushash{'ASSIGNED'} &&
!defined $statushash{'REOPENED'}) {
print "
-<INPUT TYPE=radio NAME=knob VALUE=reopen> Reopen bugs<br>";
+<INPUT TYPE=\"radio\" NAME=\"knob\" VALUE=\"reopen\"> Reopen bugs<br>";
$knum++;
}
my @statuskeys = keys %statushash;
if ($#statuskeys == 1) {
if (defined $statushash{'RESOLVED'}) {
print "
-<INPUT TYPE=radio NAME=knob VALUE=verify>
+<INPUT TYPE=\"radio\" NAME=\"knob\" VALUE=\"verify\">
Mark bugs as <b>VERIFIED</b><br>";
$knum++;
}
if (defined $statushash{'VERIFIED'}) {
print "
-<INPUT TYPE=radio NAME=knob VALUE=close>
+<INPUT TYPE=\"radio\" NAME=\"knob\" VALUE=\"close\">
Mark bugs as <b>CLOSED</b><br>";
$knum++;
}
}
print "
-<INPUT TYPE=radio NAME=knob VALUE=reassign>
+<INPUT TYPE=\"radio\" NAME=\"knob\" VALUE=\"reassign\">
<A HREF=\"bug_status.html#assigned_to\">Reassign</A> bugs to
- <INPUT NAME=assigned_to SIZE=32
+ <INPUT NAME=\"assigned_to\" SIZE=\"32\"
ONCHANGE=\"document.changeform.knob\[$knum\].checked=true\"
VALUE=\"$::COOKIE{'Bugzilla_login'}\"><br>";
$knum++;
- print "<INPUT TYPE=radio NAME=knob VALUE=reassignbycomponent>
+ print "<INPUT TYPE=\"radio\" NAME=\"knob\" VALUE=\"reassignbycomponent\">
Reassign bugs to owner of selected component<br>";
$knum++;
print "
<p>
-<font size=-1>
+<font size=\"-1\">
To make changes to a bunch of bugs at once:
<ol>
<li> Put check boxes next to the bugs you want to change.
@@ -590,15 +597,15 @@ To make changes to a bunch of bugs at once:
comment explaining what you're doing.)
<li> Click the below \"Commit\" button.
</ol></font>
-<INPUT TYPE=SUBMIT VALUE=Commit>
+<INPUT TYPE=\"SUBMIT\" VALUE=\"Commit\">
</FORM><hr>\n";
}
if ($count > 0) {
- print "<FORM METHOD=POST ACTION=\"long_list.cgi\">
-<INPUT TYPE=HIDDEN NAME=buglist VALUE=$buglist>
-<INPUT TYPE=SUBMIT VALUE=\"Long Format\">
+ print "<FORM METHOD=\"POST\" ACTION=\"long_list.cgi\">
+<INPUT TYPE=\"HIDDEN\" NAME=\"buglist\" VALUE=\"$buglist\">
+<INPUT TYPE=\"SUBMIT\" VALUE=\"Long Format\">
<A HREF=\"query.cgi\">Query Page</A>
<A HREF=\"colchange.cgi?$::buffer\">Change columns</A>
</FORM>";