Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
bugzilla
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
etersoft
bugzilla
Commits
e8798555
Commit
e8798555
authored
Oct 27, 1998
by
harrison%netscape.com
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
patch from Sam Ziegler <ziegler@mediaguaranty.com>, bug
graphs available, minor hacks.
parent
ac40798c
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
161 additions
and
12 deletions
+161
-12
reports.cgi
reports.cgi
+161
-12
No files found.
reports.cgi
View file @
e8798555
...
...
@@ -22,28 +22,52 @@
use
diagnostics
;
use
strict
;
use
Chart::
Lines
;
require
"CGI.pl"
;
require
"globals.pl"
;
use
vars
@::legal_product
;
my
$dir
=
"data/mining"
;
my
$week
=
60
*
60
*
24
*
7
;
my
@status
=
qw (NEW
ASSIGNED
REOPENED
);
ConnectToDatabase
();
# while this looks odd/redundant, it allows us to name
# functions differently than the value passed in
print
<<FIN;
Content-type: text/html
my
%
reports
=
(
"most_doomed"
=>
\&
most_doomed
,
"show_chart"
=>
\&
show_chart
,
);
# patch from Sam Ziegler <ziegler@mediaguaranty.com>:
#
# "reports.cgi currently has it's own idea of what
# the header should be. This patch sets it to the
# system wide header."
print
"Content-type: text/html\n\n"
;
if
(
defined
$::FORM
{
'nobanner'
})
{
print
<<FIN;
<html>
<head>
<title>Bugzilla Reports</title>
</head>
<head><title>Bug Reports</title></head>
<body bgcolor="#FFFFFF">
FIN
}
else
{
PutHeader
(
"Bug Reports"
)
unless
(
defined
$::FORM
{
'nobanner'
});
}
ConnectToDatabase
();
&
header
unless
(
defined
$::FORM
{
'nobanner'
});
# $::FORM{'product'} = "Mozilla";
# &show_chart();
# exit;
if
(
!
defined
$::FORM
{
'product'
})
{
...
...
@@ -51,7 +75,29 @@ if (! defined $::FORM{'product'})
}
else
{
&
most_doomed
;
# we want to be careful about what subroutines
# can be called from outside. modify %reports
# accordingly when a new report type is added
if
(
!
defined
$reports
{
$::FORM
{
'output'
}})
{
$::FORM
{
'output'
}
=
"most_doomed"
;
# a reasonable default
}
my
$f
=
$reports
{
$::FORM
{
'output'
}};
if
(
!
defined
$f
)
{
print
"start over, your form data was all messed up.<p>\n"
;
foreach
(
keys
%::
FORM
)
{
print
"<font color=blue>$_</font> : "
.
(
$::FORM
{
$_
}
?
$::FORM
{
$_
}
:
"undef"
)
.
"<br>\n"
;
}
exit
;
}
&
{
$f
};
}
print
<<FIN;
...
...
@@ -84,6 +130,13 @@ $product_popup
</td>
</tr>
<tr>
<td align=center><b>Output:</b></td>
<td align=center>
<select name="output">
<option value="most_doomed">Bug Counts
<option value="show_chart">Bug Charts
</select>
<tr>
<td align=center><b>Switches:</b></td>
<td align=left>
<input type=checkbox name=links value=1> Links to Bugs<br>
...
...
@@ -101,10 +154,6 @@ $product_popup
FIN
}
##########################
# they sent us a project #
##########################
sub
most_doomed
{
my
$when
=
localtime
(
time
);
...
...
@@ -323,3 +372,103 @@ sub header
BORDER=0 WIDTH=600 HEIGHT=58></A></TD></TR></TABLE>
FIN
}
sub
show_chart
{
my
$when
=
localtime
(
time
);
print
<<FIN;
<center>
FIN
my
@dates
;
my
@open
;
my
@assigned
;
my
@reopened
;
my
$file
=
join
'/'
,
$dir
,
$::FORM
{
'product'
};
my
$image
=
"$file.gif"
;
if
(
!
open
FILE
,
$file
)
{
&
die_politely
(
"The tool which gathers bug counts has not been run yet."
);
}
while
(
<
FILE
>
)
{
chomp
;
next
if
(
$_
=~
/^#/
or
!
$_
);
my
(
$date
,
$open
,
$assigned
,
$reopened
)
=
split
/\|/
,
$_
;
my
(
$yy
,
$mm
,
$dd
)
=
$date
=~
/^\d{2}(\d{2})(\d{2})(\d{2})$/
;
push
@dates
,
"$mm/$dd/$yy"
;
push
@open
,
$open
;
push
@assigned
,
$assigned
;
push
@reopened
,
$reopened
;
}
close
FILE
;
if
(
$#dates
<
1
)
{
&
die_politely
(
"We don't have enough data points to make a graph (yet)"
);
}
my
$img
=
Chart::
Lines
->
new
(
800
,
600
);
my
@labels
=
qw (New
Assigned
Reopened
);
my
@when
;
my
$i
=
0
;
my
@data
;
push
@data
,
\
@dates
;
push
@data
,
\
@open
;
push
@data
,
\
@assigned
;
push
@data
,
\
@reopened
;
my
%
settings
=
(
"title"
=>
"Bug Charts for $::FORM{'product'}"
,
"x_label"
=>
"Dates"
,
"y_label"
=>
"Bug Count"
,
"grey_background"
=>
1
,
"legend_labels"
=>
\
@labels
,
);
$img
->
set
(
%
settings
);
open
IMAGE
,
">$image"
or
die
"$image: $!"
;
$img
->
gif
(
*
IMAGE
,
\
@data
);
close
IMAGE
;
print
<<FIN;
<img src="$image">
<br clear=left>
<br>
FIN
}
sub
die_politely
{
my
$msg
=
shift
;
print
<<FIN;
<p>
<table border=1 cellpadding=10>
<tr>
<td align=center>
<font color=blue>Sorry, but ...</font>
<p>
There is no graph available for <b>$::FORM{'product'}</b><p>
<font size=-1>
$msg
<p>
</font>
</td>
</tr>
</table>
<p>
FIN
exit
;
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment