| <?php | |
| // votes required to be considered "approved" | |
| $nvotesRequired = 1; | |
| $targetMilestone="3.4 RC2"; | |
| $targetMilestoneJPA="3.2 RC2"; | |
| $targetMilestoneLibra="0.2 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.4.0 RC2 Bugs</title> | |
| </head> | |
| <body> | |
| <table width="100%" cellspacing="5" cellpadding="2" border="0"> | |
| <tr> | |
| <td width="60%" align="left"><font class="indextop">wtp 3.4.0 RC2 pmc review bug list</font> <br> <font class="indexsub">Web | |
| Tools 3.4.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"> </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.4.x_Maintenance">WTP | |
| maintenance plan for Juno stream</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." </td>"; | |
| echo "<td>".$no." </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> |