|  | <?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>"; | 
|  | } | 
|  | ?> |