| <?php | |
| function shiftDown($array, $size, $start) | |
| { | |
| for ($i = $size; $i > $start; $i--) | |
| { | |
| $array[$i] = $array[$i - 1]; | |
| } | |
| return $array; | |
| } | |
| function genTop10($sqlquery, $urlquery, $col2name, $dayBuffer) | |
| { | |
| require_once "/home/data/httpd/eclipse-php-classes/system/dbconnection_bugs_ro.class.php"; | |
| # Connect to database | |
| $dbc = new DBConnectionBugs(); | |
| $dbh = $dbc->connect(); | |
| $rs = mysql_query($sqlquery, $dbh); | |
| if(mysql_errno($dbh) > 0) | |
| { | |
| echo "There was an error processing this request". | |
| # For debugging purposes - don't display this stuff in a production page. | |
| # echo mysql_error($dbh); | |
| # Mysql disconnects automatically, but I like my disconnects to be explicit. | |
| $dbc->disconnect(); | |
| exit; | |
| } | |
| $currReporter = null; | |
| $reporter[1] = null; | |
| $reporter[2] = null; | |
| $reporter[3] = null; | |
| $reporter[4] = null; | |
| $reporter[5] = null; | |
| $reporter[6] = null; | |
| $reporter[7] = null; | |
| $reporter[8] = null; | |
| $reporter[9] = null; | |
| $reporter[10] = null; | |
| $currCount = 0; | |
| $count[1] = 0; | |
| $count[2] = 0; | |
| $count[3] = 0; | |
| $count[4] = 0; | |
| $count[5] = 0; | |
| $count[6] = 0; | |
| $count[7] = 0; | |
| $count[8] = 0; | |
| $count[9] = 0; | |
| $count[10] = 0; | |
| if ($dayBuffer == null) | |
| $dayBuffer = 0; | |
| $cutoff = date("YmdHis", mktime(date("H"), date("i"), date("s"), date("m"), date("d") - $dayBuffer, date("Y"))); | |
| while($myrow = mysql_fetch_assoc($rs)) | |
| { | |
| if ($myrow['reporter'] == null || $myrow['reporter'] == "") | |
| { | |
| $currReporter = null; | |
| $currCount = 0; | |
| continue; | |
| } | |
| if ($myrow['delta_ts'] != null && $cutoff < $myrow['delta_ts']) | |
| { | |
| continue; | |
| } | |
| if ($myrow['reporter'] != $currReporter) | |
| { | |
| if ($currReporter != null && $currCount > 0) | |
| { | |
| for ($i = 10; $i > 0; $i--) | |
| { | |
| if ($reporter[$i] == null) | |
| { | |
| if ($i == 1) | |
| { | |
| $reporter[1] = $currReporter; | |
| $count[1] = $currCount; | |
| break; | |
| } | |
| else | |
| { | |
| continue; | |
| } | |
| } | |
| else if ($currCount > $count[$i]) | |
| { | |
| if ($i == 1) | |
| { | |
| $reporter = shiftDown($reporter, 10, 1); | |
| $count = shiftDown($count, 10, 1); | |
| $reporter[1] = $currReporter; | |
| $count[1] = $currCount; | |
| break; | |
| } | |
| else | |
| { | |
| continue; | |
| } | |
| } | |
| else if ($i != 10) | |
| { | |
| $reporter = shiftDown($reporter, 10, $i + 1); | |
| $count = shiftDown($count, 10, $i + 1); | |
| $reporter[$i + 1] = $currReporter; | |
| $count[$i + 1] = $currCount; | |
| break; | |
| } | |
| else | |
| { | |
| break; | |
| } | |
| } | |
| } | |
| $currReporter = $myrow['reporter']; | |
| $currCount = 1; | |
| } | |
| else | |
| { | |
| $currCount++; | |
| } | |
| } | |
| $dbc->disconnect(); | |
| $rs = null; | |
| $dbh = null; | |
| $dbc = null; | |
| echo "<table border=\"1\" cellspacing=\"0\" align=\"center\">"; | |
| echo "<tr><th>Rank</th><th>$col2name</th><th>Bug count</th></tr>"; | |
| for ($i = 1; $i <= 10; $i++) | |
| { | |
| if ($reporter[$i] != null && $count[$i] > 0) | |
| { | |
| if ($i % 2 != 0) | |
| { | |
| echo "<tr><td align=\"center\" bgcolor=\"#dddddd\">$i</td><td bgcolor=\"#dddddd\" align=\"right\">$reporter[$i]</td><td bgcolor=\"#dddddd\" align=\"right\"><a href=\"$urlquery\">$count[$i]</a></td></tr>"; | |
| } | |
| else | |
| { | |
| echo "<tr><td align=\"center\">$i</td><td align=\"right\">$reporter[$i]</td><td align=\"right\"><a href=\"$urlquery\">$count[$i]</a></td></tr>"; | |
| } | |
| } | |
| } | |
| echo "</table>"; | |
| } | |
| ?> |