Returns the path to the logfile corresponding to the bug.
+Returns undef if the bug does not exist.
+
=cut
sub buglog {
my $location = getbuglocation($bugnum, 'log');
return getbugcomponent($bugnum, 'log', $location) if ($location);
$location = getbuglocation($bugnum, 'log.gz');
- return getbugcomponent($bugnum, 'log.gz', $location);
+ return getbugcomponent($bugnum, 'log.gz', $location) if ($location);
+ return undef;
}
my $repeatmerged = $param{'repeatmerged'} eq 'yes';
my $buglog = buglog($ref);
+if (not defined $buglog) {
+ print $q->header(-status => "404 No such bug",
+ -type => "text/html",
+ -charset => 'utf-8',
+ );
+ exit 0;
+}
+
my @stat = stat $buglog;
my $mtime = '';
if (@stat) {
"</HEAD>\n" .
'<BODY onload="pagemain();">' .
"\n";
+print qq(<DIV id="status_mask"></DIV>\n);
print "<H1>" . "$gProject$Archived $gBug report logs: $title" .
"</H1>\n";
* Link to packages in bugreport page (closes: #229067)
* Totally revamp the pkgreport templates (closes: #434504)
* Add correspondent option to track bug correpondents (closes: #485804)
+ * Allow clicking anywhere outside the extra status box to close the
+ extra status box (closes: #499990) Thanks to James Vega for the patch.
+ * Return 404 when a bug number that does not exist is used
+ (closes: #499997)
-- Colin Watson <cjwatson@debian.org> Fri, 20 Jun 2003 18:57:25 +0100
display: inline;
}
+#status_mask {
+ -moz-opacity: 0;
+ opacity: 0;
+ filter: alpha(opacity=0);
+ z-index: 1;
+ position: absolute;
+ width: 100%;
+ height: 100%;
+ top: 0px;
+ left: 0px;
+ display: none;
+}
+
.bugs li {
margin-top: 5px;
}
<h1>{$config{project}} {$config{bug}} report logs - #{$bug_num}</h1>
<p>There is no record of {$config{bug}} #{$bug_num}.
Try the <a href="http://{$config{web_domain}}/">search page</a> instead.</p>
-{include('html/tail')}
+{#include('html/html_tail')}
</body></html>
else \{
all_divs[i].style.position = "absolute";
all_divs[i].style.display = "none"
- all_divs[i].style.zIndex = 1;
+ all_divs[i].style.zIndex = 2;
all_divs[i].style.border = "#000 1px solid";
var subspans = all_divs[i].getElementsByTagName("span");
for (var j = 0; j < subspans.length; j++) \{
\}
function extra_status_visible(id) \{
+ var m = document.getElementById("status_mask");
if (visible_extra_status) \{
var t = document.getElementById("extra_status_"+visible_extra_status);
t.style.display = "none";
+ if (m) \{
+ m.style.display = "none";
+ \}
if (visible_extra_status == id) \{
visible_extra_status = 0;
return;
if (e) \{
e.style.display = "block";
visible_extra_status = id;
+ if (m) \{
+ m.onclick = function() \{ extra_status_visible(id); \};
+ m.style.display = "block";
+ \}
\}
\}