|  | <?php | 
|  | // votes required to be considered "approved" | 
|  | $nvotesRequired = 1; | 
|  | $targetMilestone="3.4 RC1"; | 
|  | $targetMilestoneJPA="3.2 RC1"; | 
|  | $targetMilestoneLibra="0.2 RC1"; | 
|  | $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.3.2 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 RC1 pmc review bug list</font> <br> <font class="indexsub">Web | 
|  | Tools 3.4.0 RC1 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> |