0) { $other = ($phpver == 4 ? 3 : 4); echo '

Currently displaying PHP'. $phpver . ' bugs only. Display all bugs or only PHP' . $other . ' bugs.

' . "\n"; } else { echo '

Currently displaying all bugs. Display only PHP3 bugs or only PHP4 bugs.

' . "\n"; } mysql_connect("localhost","nobody",""); mysql_select_db("php3"); $query = "SELECT * from bugdb"; if ($phpver > 0) { $query .= " WHERE php_version LIKE '" . $phpver . "%'"; } $query.= " ORDER BY bug_type"; $result=mysql_query($query); while($row=mysql_fetch_row($result)) { $bug_type['all'][$row[1]]++; if($row[7]=="Open") { $bug_type['open'][$row[1]]++; $bug_type['open']['all']++; } if($row[7]=="Analyzed") { $bug_type['analyzed'][$row[1]]++; $bug_type['analyzed']['all']++; } if($row[7]=="Feedback" || $row[7]=="OldFeedback") { $bug_type['feedback'][$row[1]]++; $bug_type['feedback']['all']++; } if($row[7]=="Suspended") { $bug_type['suspended'][$row[1]]++; $bug_type['suspended']['all']++; } if($row[7]=="Duplicate") { $bug_type['duplicate'][$row[1]]++; $bug_type['duplicate']['all']++; } if($row[7]=="Assigned") { $bug_type['assigned'][$row[1]]++; $bug_type['assigned']['all']++; } $email[$row[2]]++; $php_version[$row[5]]++; $php_os[$row[6]]++; $status[$row[7]]++; if($row[7]=="Closed") { $bug_type['closed'][$row[1]]++; $bug_type['closed']['all']++; if (mydate($row[10]) > mydate($row[9])) { $time_to_close[] = mydate($row[10]) - mydate($row[9]); } $closed_by[$row[11]]++; } $total++; } function bugstats($status, $type) { global $bug_type, $phpver; if ($bug_type[$status][$type] > 0) { if ($phpver == 4) { $page = "bugs.php"; } else { $page = "bugs-php3.php"; } return '' . $bug_type[$status][$type] . "\n"; } } mysql_freeresult($result); echo "\n"; /* prepare for sorting by bug report count */ while(list($type,$value)=each($bug_type['all'])) { if(!isset($bug_type['closed'][$type])) $bug_type['closed'][$type] = 0; if(!isset($bug_type['open'][$type])) $bug_type['open'][$type] = 0; if(!isset($bug_type['analyzed'][$type])) $bug_type['analyzed'][$type] = 0; if(!isset($bug_type['suspended'][$type])) $bug_type['suspended'][$type] = 0; if(!isset($bug_type['duplicate'][$type])) $bug_type['duplicate'][$type] = 0; if(!isset($bug_type['assigned'][$type])) $bug_type['assigned'][$type] = 0; if(!isset($bug_type['feedback'][$type])) $bug_type['feedback'][$type] = 0; } if(!isset($sort_by)) $sort_by = 'open'; if(!isset($rev)) $rev = 1; if($rev == 1) { arsort($bug_type[$sort_by]); } else { asort($bug_type[$sort_by]); } reset($bug_type); function sort_url($type) { global $sort_by,$rev,$phpver; if($type == $sort_by) { $reve = ($rev == 1) ? 0 : 1; } else { $reve = 1; } $ver = ($phpver != 0) ? "phpver=$phpver&" : ''; return ''.ucfirst($type).''; } echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo "\n"; echo "\n"; while(list($type,$value)=each($bug_type[$sort_by])) { if(($bug_type['open'][$type] > 0 || $bug_type['analyzed'][$type] > 0 || $bug_type['suspended'][$type] > 0 || $bug_type['duplicate'][$type] > 0 || $bug_type['assigned'][$type] > 0 || $bug_type['feedback'][$type] > 0 ) && $type != 'all') { echo "\n"; } } echo "
Total bug entries in system:$total".sort_url('closed')."".sort_url('open')."".sort_url('analyzed')."".sort_url('suspended')."".sort_url('duplicate')."".sort_url('assigned')."".sort_url('feedback')."
All:$total".bugstats('closed', 'all')." ".bugstats('open', 'all')." ".bugstats('analyzed', 'all')." ".bugstats('suspended','all')." ".bugstats('duplicate', 'all')." ".bugstats('assigned','all')." ".bugstats('feedback','all')." 
$type:".$bug_type['all'][$type]."".bugstats('closed', $type)." ".bugstats('open', $type)." ".bugstats('analyzed', $type)." ".bugstats('suspended',$type)." ".bugstats('duplicate', $type)." ".bugstats('assigned',$type)." ".bugstats('feedback',$type)." 
\n"; sort($time_to_close); $c=count($time_to_close); $sum=0; for($i=0;$i<$c;$i++) { $sum+=$time_to_close[$i]; } $median = $time_to_close[(int)($c/2)]; echo "

Bug Report Time to Close Stats\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "
Average life of a report:".ShowTime((int)($sum/$c))."
Median life of a report:".ShowTime($median)."
Slowest report closure:".ShowTime($time_to_close[$c-1])."
Quickest report closure:".ShowTime($time_to_close[0])."
\n"; arsort($closed_by); echo "

Who is closing the bug reports?\n"; echo "\n"; while(list($who,$value)=each($closed_by)) { echo "\n"; } echo "
$who$value
\n"; arsort($email); echo "

Who is submitting bug reports?\n"; echo "\n"; while(list($who,$value)=each($email)) { if ($value > 2) { echo "\n"; } } echo "
$who$value
\n"; commonFooter(); ?>