Bug 148488 - more HTML validation fixes

r=jouni, gerv
parent 0b729766
...@@ -353,21 +353,21 @@ sub navigation_links($) { ...@@ -353,21 +353,21 @@ sub navigation_links($) {
my $cur = lsearch(\@bugs, $::FORM{"id"}); my $cur = lsearch(\@bugs, $::FORM{"id"});
if ($cur > 0) { if ($cur > 0) {
$retval .= "<link rel=\"First\" href=\"show_bug.cgi?id=$bugs[0]\" />\n"; $retval .= "<link rel=\"First\" href=\"show_bug.cgi?id=$bugs[0]\">\n";
$retval .= "<link rel=\"Prev\" href=\"show_bug.cgi?id=$bugs[$cur - 1]\" />\n"; $retval .= "<link rel=\"Prev\" href=\"show_bug.cgi?id=$bugs[$cur - 1]\">\n";
} }
if ($cur < $#bugs) { if ($cur < $#bugs) {
$retval .= "<link rel=\"Next\" href=\"show_bug.cgi?id=$bugs[$cur + 1]\" />\n"; $retval .= "<link rel=\"Next\" href=\"show_bug.cgi?id=$bugs[$cur + 1]\">\n";
$retval .= "<link rel=\"Last\" href=\"show_bug.cgi?id=$bugs[$#bugs]\" />\n"; $retval .= "<link rel=\"Last\" href=\"show_bug.cgi?id=$bugs[$#bugs]\">\n";
} }
$retval .= "<link rel=\"Up\" href=\"buglist.cgi?regetlastlist=1\" />\n"; $retval .= "<link rel=\"Up\" href=\"buglist.cgi?regetlastlist=1\">\n";
$retval .= "<link rel=\"Contents\" href=\"buglist.cgi?regetlastlist=1\" />\n"; $retval .= "<link rel=\"Contents\" href=\"buglist.cgi?regetlastlist=1\">\n";
} else { } else {
# We are on a bug list # We are on a bug list
$retval .= "<link rel=\"First\" href=\"show_bug.cgi?id=$bugs[0]\" />\n"; $retval .= "<link rel=\"First\" href=\"show_bug.cgi?id=$bugs[0]\">\n";
$retval .= "<link rel=\"Next\" href=\"show_bug.cgi?id=$bugs[0]\" />\n"; $retval .= "<link rel=\"Next\" href=\"show_bug.cgi?id=$bugs[0]\">\n";
$retval .= "<link rel=\"Last\" href=\"show_bug.cgi?id=$bugs[$#bugs]\" />\n"; $retval .= "<link rel=\"Last\" href=\"show_bug.cgi?id=$bugs[$#bugs]\">\n";
} }
} }
...@@ -972,7 +972,7 @@ sub ThrowTemplateError { ...@@ -972,7 +972,7 @@ sub ThrowTemplateError {
send it to $maintainer with details of what you were doing at the send it to $maintainer with details of what you were doing at the
time this message appeared. time this message appeared.
</p> </p>
<script> <!-- <script type="text/javascript"> <!--
document.write("<p>URL: " + document.location + "</p>"); document.write("<p>URL: " + document.location + "</p>");
// --> // -->
</script> </script>
......
...@@ -832,7 +832,7 @@ sub GenerateSQL { ...@@ -832,7 +832,7 @@ sub GenerateSQL {
$F{"type$chart-$row-$col"} = shift(@$ref); $F{"type$chart-$row-$col"} = shift(@$ref);
$F{"value$chart-$row-$col"} = shift(@$ref); $F{"value$chart-$row-$col"} = shift(@$ref);
if ($debug) { if ($debug) {
print qq{<P>$F{"field$chart-$row-$col"} | $F{"type$chart-$row-$col"} | $F{"value$chart-$row-$col"}*\n}; print qq{<p>$F{"field$chart-$row-$col"} | $F{"type$chart-$row-$col"} | $F{"value$chart-$row-$col"}*</p>\n};
} }
$col++; $col++;
...@@ -971,7 +971,7 @@ sub GenerateSQL { ...@@ -971,7 +971,7 @@ sub GenerateSQL {
if ("$f,$t" =~ m/$key/) { if ("$f,$t" =~ m/$key/) {
my $ref = $funcsbykey{$key}; my $ref = $funcsbykey{$key};
if ($debug) { if ($debug) {
print "<P>$key ($f , $t ) => "; print "<p>$key ($f , $t ) => ";
} }
$ff = $f; $ff = $f;
if ($f !~ /\./) { if ($f !~ /\./) {
...@@ -979,7 +979,7 @@ sub GenerateSQL { ...@@ -979,7 +979,7 @@ sub GenerateSQL {
} }
&$ref; &$ref;
if ($debug) { if ($debug) {
print "$f , $t , $term"; print "$f , $t , $term</p>";
} }
if ($term) { if ($term) {
last; last;
...@@ -1020,7 +1020,7 @@ sub GenerateSQL { ...@@ -1020,7 +1020,7 @@ sub GenerateSQL {
$query = SelectVisible($query, $::userid, $::usergroupset); $query = SelectVisible($query, $::userid, $::usergroupset);
if ($debug) { if ($debug) {
print "<P><CODE>" . value_quote($query) . "</CODE><P>\n"; print "<p><code>" . value_quote($query) . "</code></p>\n";
exit; exit;
} }
return $query; return $query;
......
...@@ -24,16 +24,16 @@ use strict; ...@@ -24,16 +24,16 @@ use strict;
print q{Content-type: text/html print q{Content-type: text/html
<HTML> <html>
<HEAD> <head>
<META HTTP-EQUIV="Refresh" <meta http-equiv="Refresh"
CONTENT="0; URL=userprefs.cgi"> content="0; URL=userprefs.cgi">
</HEAD> </head>
<BODY> <body>
This URL is obsolete. Forwarding you to the correct one. This URL is obsolete. Forwarding you to the correct one.
<P> <p>
Going to <A HREF="userprefs.cgi">userprefs.cgi</A> Going to <a href="userprefs.cgi">userprefs.cgi</a>
<BR> <br>
</BODY> </body>
</HTML> </html>
} }
...@@ -806,14 +806,14 @@ if ($my_index_html) { ...@@ -806,14 +806,14 @@ if ($my_index_html) {
open HTML, ">index.html"; open HTML, ">index.html";
print HTML <<'END'; print HTML <<'END';
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML> <html>
<HEAD> <head>
<META HTTP-EQUIV="REFRESH" CONTENT="0; URL=index.cgi"> <meta http-equiv="Refresh" content="0; URL=index.cgi">
</HEAD> </head>
<BODY> <body>
<H1>I think you are looking for <a href="index.cgi">index.cgi</a></H1> <h1>I think you are looking for <a href="index.cgi">index.cgi</a></h1>
</BODY> </body>
</HTML> </html>
END END
close HTML; close HTML;
} }
......
...@@ -88,8 +88,8 @@ if (defined $::FORM{'rememberedquery'}) { ...@@ -88,8 +88,8 @@ if (defined $::FORM{'rememberedquery'}) {
print "Set-Cookie: SPLITHEADER=$::FORM{'splitheader'} ; path=$cookiepath ; expires=Sun, 30-Jun-2029 00:00:00 GMT\n"; print "Set-Cookie: SPLITHEADER=$::FORM{'splitheader'} ; path=$cookiepath ; expires=Sun, 30-Jun-2029 00:00:00 GMT\n";
print "Refresh: 0; URL=buglist.cgi?$::FORM{'rememberedquery'}\n"; print "Refresh: 0; URL=buglist.cgi?$::FORM{'rememberedquery'}\n";
print "\n"; print "\n";
print "<META HTTP-EQUIV=Refresh CONTENT=\"1; URL=$urlbase"."buglist.cgi?$::FORM{'rememberedquery'}\">\n"; print "<meta http-equiv=\"Refresh\" content=\"1; URL=$urlbase"."buglist.cgi?$::FORM{'rememberedquery'}\">\n";
print "<TITLE>What a hack.</TITLE>\n"; print "<title>What a hack.</title>\n";
PutHeader ("Change columns"); PutHeader ("Change columns");
print "Resubmitting your query with new columns...\n"; print "Resubmitting your query with new columns...\n";
exit; exit;
......
...@@ -204,7 +204,7 @@ DefParam("LDAPmailattribute", ...@@ -204,7 +204,7 @@ DefParam("LDAPmailattribute",
DefParam("mostfreqthreshold", DefParam("mostfreqthreshold",
"The minimum number of duplicates a bug needs to show up on the <A HREF=\"duplicates.cgi\">most frequently reported bugs page</a>. If you have a large database and this page takes a long time to load, try increasing this number.", "The minimum number of duplicates a bug needs to show up on the <a href=\"duplicates.cgi\">most frequently reported bugs page</a>. If you have a large database and this page takes a long time to load, try increasing this number.",
"t", "t",
"2"); "2");
......
...@@ -947,7 +947,7 @@ sub DBNameToIdAndCheck { ...@@ -947,7 +947,7 @@ sub DBNameToIdAndCheck {
} }
$name = html_quote($name); $name = html_quote($name);
ThrowUserError("The name <TT>$name</TT> is not a valid username. ThrowUserError("The name <tt>$name</tt> is not a valid username.
Either you misspelled it, or the person has not Either you misspelled it, or the person has not
registered for a Bugzilla account."); registered for a Bugzilla account.");
} }
......
...@@ -55,17 +55,17 @@ my $offervotecacherebuild = 0; ...@@ -55,17 +55,17 @@ my $offervotecacherebuild = 0;
sub Status { sub Status {
my ($str) = (@_); my ($str) = (@_);
print "$str <P>\n"; print "$str <p>\n";
} }
sub Alert { sub Alert {
my ($str) = (@_); my ($str) = (@_);
Status("<font color=red>$str</font>"); Status("<font color=\"red\">$str</font>");
} }
sub BugLink { sub BugLink {
my ($id) = (@_); my ($id) = (@_);
return "<a href='show_bug.cgi?id=$id'>$id</a>"; return "<a href=\"show_bug.cgi?id=$id\">$id</a>";
} }
sub AlertBadVoteCache { sub AlertBadVoteCache {
...@@ -142,7 +142,7 @@ if (exists $::FORM{'rebuildvotecache'}) { ...@@ -142,7 +142,7 @@ if (exists $::FORM{'rebuildvotecache'}) {
Status("Vote cache has been rebuilt."); Status("Vote cache has been rebuilt.");
} }
print "OK, now running sanity checks.<P>\n"; print "OK, now running sanity checks.<p>\n";
# This one goes first, because if this is wrong, then the below tests # This one goes first, because if this is wrong, then the below tests
# will probably fail too # will probably fail too
......
...@@ -45,10 +45,10 @@ sub CreateImagemap { ...@@ -45,10 +45,10 @@ sub CreateImagemap {
open MAP, "<$mapfilename"; open MAP, "<$mapfilename";
while(my $line = <MAP>) { while(my $line = <MAP>) {
if($line =~ /^default ([^ ]*)(.*)$/) { if($line =~ /^default ([^ ]*)(.*)$/) {
$default = qq{<area shape="default" href="$1">\n}; $default = qq{<area alt="" shape="default" href="$1">\n};
} }
if ($line =~ /^rectangle \((.*),(.*)\) \((.*),(.*)\) (http[^ ]*)(.*)?$/) { if ($line =~ /^rectangle \((.*),(.*)\) \((.*),(.*)\) (http[^ ]*)(.*)?$/) {
$map .= qq{<area name="bug$6" shape="rect" href="$5" coords="$1,$4,$3,$2">\n}; $map .= qq{<area alt="bug$6" name="bug$6" shape="rect" href="$5" coords="$1,$4,$3,$2">\n};
} }
} }
close MAP; close MAP;
......
...@@ -35,7 +35,7 @@ ...@@ -35,7 +35,7 @@
<table> <table>
<tr> <tr>
<th align="right">Old Email Address:</th> <th align="right">Old Email Address:</th>
<td><input type="input" name="email" size="36"></td> <td><input type="text" name="email" size="36"></td>
</tr> </tr>
<tr> <tr>
<th align="right"> </th> <th align="right"> </th>
......
...@@ -97,7 +97,7 @@ ...@@ -97,7 +97,7 @@
<h3>[% current_tab.description %]</h3> <h3>[% current_tab.description %]</h3>
<form method="post"> <form method="post" action="userprefs.cgi">
<input type="hidden" name="tab" value="[% current_tab.name %]"> <input type="hidden" name="tab" value="[% current_tab.name %]">
[% PROCESS "account/prefs/${current_tab.name}.html.tmpl" IF current_tab.name.defined %] [% PROCESS "account/prefs/${current_tab.name}.html.tmpl" IF current_tab.name.defined %]
......
...@@ -34,13 +34,13 @@ ...@@ -34,13 +34,13 @@
<table> <table>
<tr> <tr>
<td colspan=2> <td colspan="2">
Do you really want to delete this status? Do you really want to delete this status?
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <td>
<a href="editattachstatuses.cgi?action=delete&id=[% id %]"> <a href="editattachstatuses.cgi?action=delete&amp;id=[% id %]">
Yes, delete Yes, delete
</a> </a>
</td> </td>
......
...@@ -55,10 +55,10 @@ ...@@ -55,10 +55,10 @@
<td>[% statusdef.sortkey %]</td> <td>[% statusdef.sortkey %]</td>
<td>[% statusdef.product FILTER html %]</td> <td>[% statusdef.product FILTER html %]</td>
<td> <td>
<a href="editattachstatuses.cgi?action=edit&id=[% statusdef.id %]"> <a href="editattachstatuses.cgi?action=edit&amp;id=[% statusdef.id %]">
Edit</a> Edit</a>
&nbsp;|&nbsp; &nbsp;|&nbsp;
<a href="editattachstatuses.cgi?action=confirmdelete&id=[% statusdef.id %]" <a href="editattachstatuses.cgi?action=confirmdelete&amp;id=[% statusdef.id %]"
onclick="return confirmDelete([% statusdef.attachcount %], onclick="return confirmDelete([% statusdef.attachcount %],
'[% statusdef.name FILTER js %]', '[% statusdef.name FILTER js %]',
[% statusdef.id %]);"> [% statusdef.id %]);">
...@@ -76,7 +76,7 @@ ...@@ -76,7 +76,7 @@
</tr> </tr>
</table> </table>
<script language="JavaScript"> <script language="JavaScript" type="text/javascript"><!--
function confirmDelete(attachcount, name, id) function confirmDelete(attachcount, name, id)
{ {
if (attachcount > 0) { if (attachcount > 0) {
...@@ -94,6 +94,7 @@ ...@@ -94,6 +94,7 @@
} }
return false; return false;
} }
-->
</script> </script>
[% PROCESS global/footer.html.tmpl %] [% PROCESS global/footer.html.tmpl %]
...@@ -53,7 +53,7 @@ ...@@ -53,7 +53,7 @@
var contentType = '[% contenttype %]'; var contentType = '[% contenttype %]';
if ( contentType == 'text/plain' ) if ( contentType == 'text/plain' )
{ {
theContent = theContent.replace( /^<html><head\/><body><pre>/i , "" ); theContent = theContent.replace( /^<html><head\/?><body><pre>/i , "" );
theContent = theContent.replace( /<\/pre><\/body><\/html>$/i , "" ); theContent = theContent.replace( /<\/pre><\/body><\/html>$/i , "" );
theContent = theContent.replace( /&lt;/gi , "<" ); theContent = theContent.replace( /&lt;/gi , "<" );
theContent = theContent.replace( /&gt;/gi , ">" ); theContent = theContent.replace( /&gt;/gi , ">" );
......
...@@ -86,7 +86,7 @@ ...@@ -86,7 +86,7 @@
[% ELSE %] [% ELSE %]
<p><b> <p><b>
Attachment cannot be viewed because its MIME type is not text/*, image/*, or application/vnd.mozilla.*. Attachment cannot be viewed because its MIME type is not text/*, image/*, or application/vnd.mozilla.*.
<a href="attachment.cgi?id=[% a.attachid %]&action=view">Download the attachment instead</a>. <a href="attachment.cgi?id=[% a.attachid %]&amp;action=view">Download the attachment instead</a>.
</b></p> </b></p>
[% END %] [% END %]
</div> </div>
......
...@@ -51,16 +51,16 @@ ...@@ -51,16 +51,16 @@
</p> </p>
[% IF image_map %] [% IF image_map %]
<img src="[% image_url %]" usemap="#imagemap"> <img src="[% image_url %]" alt="Dependency graph" usemap="#imagemap">
[% ELSE %] [% ELSE %]
<a href="[% map_url %]"> <a href="[% map_url %]">
<img src="[% image_url %]" ismap="ismap"> <img src="[% image_url %]" alt="Dependency graph" ismap="ismap">
</a> </a>
[% END %] [% END %]
<hr> <hr>
<form> <form action="showdependencygraph.cgi">
<table> <table>
<tr> <tr>
<td> <td>
......
...@@ -49,7 +49,7 @@ ...@@ -49,7 +49,7 @@
Do you wish to do this? Do you wish to do this?
</p> </p>
<form method="post"> <form method="post" action="process_bug.cgi">
[% PROCESS "global/hidden-fields.html.tmpl" exclude="^(Bugzilla|LDAP)_(login|password)$" %] [% PROCESS "global/hidden-fields.html.tmpl" exclude="^(Bugzilla|LDAP)_(login|password)$" %]
......
...@@ -59,7 +59,7 @@ You have the following choices: ...@@ -59,7 +59,7 @@ You have the following choices:
<ul> <ul>
<li> <li>
<form method="post"> <form method="post" action="process_bug.cgi">
[% PROCESS "global/hidden-fields.html.tmpl" exclude="^(Bugzilla|LDAP)_(login|password)$" %] [% PROCESS "global/hidden-fields.html.tmpl" exclude="^(Bugzilla|LDAP)_(login|password)$" %]
<input type="submit" value="Submit my changes anyway"> <input type="submit" value="Submit my changes anyway">
This will cause all of the above changes to be overwritten This will cause all of the above changes to be overwritten
......
...@@ -42,7 +42,7 @@ ...@@ -42,7 +42,7 @@
[%###########################################################################%] [%###########################################################################%]
[% BLOCK bug_display %] [% BLOCK bug_display %]
<img src="1x1.gif" width="1" height="80" align="left"> <img alt="" src="1x1.gif" width="1" height="80" align="left">
<div align="center"> <div align="center">
<b> <b>
<font ="+3">Bug [% bug.bug_id %] - [% bug.short_desc FILTER html %]</font> <font ="+3">Bug [% bug.bug_id %] - [% bug.short_desc FILTER html %]</font>
......
...@@ -36,7 +36,7 @@ ...@@ -36,7 +36,7 @@
it to [% Param("maintainer") %] with details of what you were doing at it to [% Param("maintainer") %] with details of what you were doing at
the time this message appeared. the time this message appeared.
</p> </p>
<script> <!-- <script type="text/javascript"> <!--
document.write("<p>URL: " + document.location + "</p>"); document.write("<p>URL: " + document.location + "</p>");
// --> // -->
</script> </script>
......
...@@ -43,7 +43,7 @@ ...@@ -43,7 +43,7 @@
Actions: Actions:
</td> </td>
<td valign="middle" nowrap> <td valign="middle" nowrap="nowrap">
<a href="enter_bug.cgi">New</a> | <a href="enter_bug.cgi">New</a> |
<a href="query.cgi">Query</a> | <a href="query.cgi">Query</a> |
...@@ -63,19 +63,19 @@ ...@@ -63,19 +63,19 @@
<td valign="middle"> <td valign="middle">
Edit <a href="userprefs.cgi">prefs</a> Edit <a href="userprefs.cgi">prefs</a>
[% ", <a href='editparams.cgi'>parameters</a>" [% ', <a href="editparams.cgi">parameters</a>'
IF user.groups.tweakparams %] IF user.groups.tweakparams %]
[% ", <a href='editusers.cgi'>users</a>" IF user.groups.editusers [% ', <a href="editusers.cgi">users</a>' IF user.groups.editusers
|| (user.blessgroupset > 0) %] || (user.blessgroupset > 0) %]
[% ", <a href='editproducts.cgi'>products</a>" [% ', <a href="editproducts.cgi">products</a>'
IF user.groups.editcomponents %] IF user.groups.editcomponents %]
[% ", <a href='editattachstatuses.cgi'> attachment&nbsp;statuses</a>" [% ', <a href="editattachstatuses.cgi"> attachment&nbsp;statuses</a>'
IF user.groups.editcomponents %] IF user.groups.editcomponents %]
[% ", <a href='editgroups.cgi'>groups</a>" [% ', <a href="editgroups.cgi">groups</a>'
IF user.groups.creategroups %] IF user.groups.creategroups %]
[% ", <a href='editkeywords.cgi'>keywords</a>" [% ', <a href="editkeywords.cgi">keywords</a>'
IF user.groups.editkeywords %] IF user.groups.editkeywords %]
[% " | <a href='sanitycheck.cgi'>Sanity&nbsp;check</a>" [% ' | <a href="sanitycheck.cgi">Sanity&nbsp;check</a>'
IF user.groups.tweakparams %] IF user.groups.tweakparams %]
| <a href="relogin.cgi">Log&nbsp;out</a>&nbsp;[% user.login %] | <a href="relogin.cgi">Log&nbsp;out</a>&nbsp;[% user.login %]
......
...@@ -247,7 +247,7 @@ ...@@ -247,7 +247,7 @@
<select name="resolution" onchange="document.forms.changeform.knob[[% knum %]].checked=true"> <select name="resolution" onchange="document.forms.changeform.knob[[% knum %]].checked=true">
[% FOREACH resolution = resolutions %] [% FOREACH resolution = resolutions %]
[% NEXT IF !resolution %] [% NEXT IF !resolution %]
<option value="[% resolution FILTER html %]" [% selected IF resolution == "FIXED" %]> <option value="[% resolution FILTER html %]" [% 'selected="selected"' IF resolution == "FIXED" %]>
[% resolution FILTER html %] [% resolution FILTER html %]
</option> </option>
[% END %] [% END %]
......
...@@ -651,8 +651,6 @@ function selectProduct(f) { ...@@ -651,8 +651,6 @@ function selectProduct(f) {
</tr> </tr>
</table> </table>
[%# Note: the <form> tag is unclosed at the end of this template %]
[%############################################################################%] [%############################################################################%]
[%# Block for SELECT fields #%] [%# Block for SELECT fields #%]
[%############################################################################%] [%############################################################################%]
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment