blob: ac87fa267eb6c194d7934be49645c0bff7288fff [file] [log] [blame]
<?php
// votes required to be considered "approved"
$nvotesRequired = 1;
$targetMilestone="3.5 RC2";
$targetMilestoneJPA="3.3 RC2";
$targetMilestoneLibra="0.3 RC2";
$debug = false;
// for reference
// See https://dev.eclipse.org/committers/committertools/dbo_bugs_schema.php
// and https://dev.eclipse.org/committers/committertools/dbo_index.php
if ($debug)
{
ini_set("display_errors", "true");
error_reporting (E_ALL);
}
require_once "/home/data/httpd/eclipse-php-classes/system/dbconnection_bugs_ro.class.php";
$approvedList = "";
$pendingList = "";
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" href="../../../default_style.css" type="text/css">
<link rel="stylesheet" href="../../wtp.css" type="text/css">
<title>Web Tools 3.5.0 RC1 Bugs</title>
</head>
<body>
<table width="100%" cellspacing="5" cellpadding="2" border="0">
<tr>
<td width="60%" align="left"><font class="indextop">wtp 3.5.0 RC2 pmc review bug list</font> <br> <font class="indexsub">Web
Tools 3.5.0 RC2 Bugs for PMC Review</font></td>
<td width="40%"><img width="207" hspace="50" height="129"
align="middle" src="../../images/wtplogosmall.jpg"></td>
</tr>
</table>
<table width="100%" cellspacing="5" cellpadding="2" border="0">
<tr>
<td valign="top" bgcolor="#0080c0" align="left" colspan="2"><b> <font
face="Arial,Helvetica" color="#ffffff">Introduction</font> </b></td>
</tr>
<tr>
<td valign="top" align="right">&nbsp;</td>
<td valign="top"><?php
echo 'This document lists bugs that require PMC approval in WTP ' . $targetMilestone . ' or for Dali ' . $targetMilestoneJPA . '<br />';
echo ' Currently there is (are) ' . $nvotesRequired . ' vote(s) required for PMC Approval during this phase of development. <br />'
?>
<p>
For details, refer to the <a
href="http://wiki.eclipse.org/index.php/WTP_PMC_Defect_Review">WTP
PMC Review process.</a> and the <a href="http://wiki.eclipse.org/WTP_3.5_Ramp_down_Plan_for_Kepler">WTP ramp down plan for Kepler</a>.
</p>
<p>If a bug does not showing up in this list, that you think should
show up in this list, be sure that
<ol>
<li>the bug's milestone target is set and is accurate,</li>
<li>that status whiteboard has "PMC" in it, and</li>
<li>that the review flags are for "pmc_approved" (not merely the
"review" flag).</li>
</ol> If all condidtions are met, and doesn't show up after several
minutes (say, 30 minutes or so), feel free to send a note to <a
href="mailto:wtp-releng@eclipse.org">wtp-releng</a> to call
attention to the problem. It could be a bug in this script.
</p>
</td>
</tr>
</table>
<br>
<table width="100%" cellspacing="5" cellpadding="2" border="0">
<tr>
<td valign="top" bgcolor="#0080c0" align="left" colspan="2"><b> <font
face="Arial,Helvetica" color="#ffffff">Defect List</font> </b></td>
</tr>
</table>
<table align="center" cellpadding="4" width="80%" border="1">
<tr>
<th>Count</th>
<th>Bug</th>
<th>Review Status</th>
<!-- <th>Bug Status</th> -->
<th>Owner</th>
<th>Yes</th>
<th>No</th>
</tr>
<?php
# Connect to database
$sqlquery = "SELECT
BUG.bug_id,
USR.realname,
USR.login_name,
BUG.status_whiteboard
FROM
bugs AS BUG
INNER JOIN products AS PROD ON PROD.id = BUG.product_id
INNER JOIN profiles AS USR ON USR.userid = BUG.assigned_to
WHERE
BUG.status_whiteboard like '%PMC%'
AND
(
(
(BUG.target_milestone like '$targetMilestone%'
AND BUG.target_milestone not like '$targetMilestone.%')
AND (
PROD.name='Web Tools'
OR PROD.name='Java Server Faces'
OR PROD.name='JSDT'
OR PROD.name='WTP Common Tools'
OR PROD.name='WTP Datatools'
OR PROD.name='WTP EJB Tools'
OR PROD.name='WTP Incubator'
OR PROD.name='WTP Java EE Tools'
OR PROD.name='WTP Releng'
OR PROD.name='WTP ServerTools'
OR PROD.name='WTP Source Editing'
OR PROD.name='WTP Webservices'
OR PROD.name='WTP Website'
)
)
OR
(
BUG.target_milestone like '$targetMilestoneJPA%'
AND BUG.target_milestone not like '$targetMilestoneJPA.%'
AND PROD.name='Dali JPA Tools'
)
OR
(
BUG.target_milestone like '$targetMilestoneLibra%'
AND BUG.target_milestone not like '$targetMilestoneLibra.%'
AND PROD.name='Libra'
)
)
ORDER BY
BUG.bug_id";
$dbc = new DBConnectionBugs();
$dbh = $dbc->connect();
$rs = mysql_query($sqlquery, $dbh);
if(mysql_errno($dbh) > 0) {
echo "There was an error processing this request <br />".
$dbc->disconnect();
exit;
}
$rowcount = 0;
while($myrow = mysql_fetch_assoc($rs))
{
$rowcount++;
if ($debug) {
echo "Debug: myrow: " ;
echo print_r($myrow) ;
echo " <br />";
}
echo "<tr>";
echo "<td align='right'>".$rowcount."</td>";
echo "<td align='center'><a href=\"https://bugs.eclipse.org/bugs/show_bug.cgi?id=".$myrow['bug_id']."\">".$myrow['bug_id']."</a></td>";
echo "<td>";
$yes = "";
$no = "";
$pmc_approved = stripos($myrow['status_whiteboard'], 'PMC_approved');
$sqlquery3 = "SELECT
flags.type_id,
flags.setter_id,
flags.status
FROM
flags
WHERE
(flags.setter_id='583'
OR flags.setter_id='550'
OR flags.setter_id='569'
OR flags.setter_id='12789'
OR flags.setter_id='17882'
OR flags.setter_id='18449'
OR flags.setter_id='26550')
AND flags.bug_id=".$myrow['bug_id'];
$rs3 = mysql_query($sqlquery3, $dbh);
if(mysql_errno($dbh) <= 0)
{
$votes=0;
while($myrow3 = mysql_fetch_assoc($rs3)) {
if ($debug) {
echo "Debug: myrow3: " ; echo print_r($myrow3) ; echo " <br />";
}
$sqlquery4 = "SELECT
flagtypes.name
FROM
flagtypes
WHERE
flagtypes.name='pmc_approved'
AND flagtypes.id=".$myrow3['type_id'];
$rs4 = mysql_query($sqlquery4, $dbh);
while ($myrow4 = mysql_fetch_assoc($rs4)) {
if ($debug) {
echo "Debug: myrow4: " ; echo print_r($myrow4) ; echo " <br />";
}
if($myrow3['setter_id']=="583") {
$realname="David Williams";
} else if($myrow3['setter_id']=="550") {
$realname="Tim deBoer";
} else if($myrow3['setter_id']=="12789") {
$realname="Naci Dai";
} else if($myrow3['setter_id']=="17882") {
$realname="Neil Hauge";
} else if($myrow3['setter_id']=="18449") {
$realname="Raghu Srinivasan";
} else if ($myrow3['setter_id']=="26550") {
$realname="Kaloyan Raev";
} else if ($myrow3['setter_id']=="569") {
$realname="Chuck Bridgham";
} else $realname = "UNKNOWN!";
if ($myrow3['status']=="+") {
if (strpos($yes, $realname) === false) {
if ($votes > 0) {
$yes = $yes . "<br />" . $realname;
}
else {
$yes = $realname;
}
// don't increment, if already veto'd
if ($votes >= 0) {
$votes++;
}
}
}
else if ($pmc_approved === false && $myrow3['status']=="-") {
if ($vote < 0) {
$no = $no . "<br>" . $realname;
}
else {
$no = $realname;
}
$votes = -1;
break;
}
}
}
if ($debug) {
echo "Debug: votes: $votes required: $nvotesRequired <br />";
}
if ($votes < 0) {
echo "<font color=\"red\"><b>Deferred</b></font>";
}
else if ($votes >= $nvotesRequired || (!($pmc_approved === false))) {
if (strlen($approvedList) > 0) {
$approvedList=$approvedList . "," . $myrow['bug_id'];
} else {
$approvedList=$myrow['bug_id'];
}
echo "<font color=\"green\"><b>Approved</b></font>";
}
else if ($votes > 0) {
if (strlen($pendingList) > 0) {
$pendingList=$pendingList . "," . $myrow['bug_id'];
} else {
$pendingList=$myrow['bug_id'];
}
// echo "<font color=\"yellow\"><b>Tentatively Approved</b></font>";
echo "<font color=\"yellow\"><b>Pending...</b></font>";
}
else {
// $votes == 0
if (strlen($pendingList) > 0) {
$pendingList=$pendingList . "," . $myrow['bug_id'];
} else {
$pendingList=$myrow['bug_id'];
}
echo "Pending...";
}
}
else {
echo "Error occured on sqlquery3: . " . mysql_errno($dbh) . "<br />";
echo "sqlquery: " . mysql_info($dbh) . "<br />";
}
$rs3 = null;
echo "</td>";
//echo "<td>";
//echo "bug status";
//echo "</td>";
$owner = $myrow['realname'];
if (strlen($owner) > 0) {
echo "<td>".$owner."</td>";
}
else {
echo "<td>".$myrow['login_name']."</td>";
}
echo "<td>".$yes."&nbsp;</td>";
echo "<td>".$no."&nbsp;</td>";
echo "</tr>";
}
$dbc->disconnect();
$rs = null;
$dbh = null;
$dbc = null;
?>
</table>
<?php
if (strlen($pendingList) > 0 || strlen($approvedList) > 0) {
echo "<p>You can use";
if (strlen($pendingList) > 0) {
echo " this <a href=\"https://bugs.eclipse.org/bugs/buglist.cgi?bug_id=" . $pendingList ."\">pending list</a>";
}
if (strlen($pendingList) > 0 && strlen($approvedList) > 0) {
echo " or ";
}
if (strlen($approvedList) > 0) {
echo " this <a href=\"https://bugs.eclipse.org/bugs/buglist.cgi?bug_id=" . $approvedList ."\">approved list</a>";
}
echo " for above table to first list all the bugs in that table with the bugzilla web interface, and then narrow or sort the result how ever you would like.</p>";
}
?>
</body>
</html>