$hour_max) $hour_max = $r_ghours['res_count']; $hour_sum += $r_ghours['res_count']; } if ($hour_max == 0) return; // Daily Breakdown // We use WEEKDAY rather then DAYOFWEEK because now the week starts with Monday instead of Sunday $sql_gdays = "SELECT WEEKDAY(time) AS res_day, COUNT(*) AS res_count FROM uts_match WHERE $bgwhere GROUP by res_day"; $q_gdays = mysql_query($sql_gdays) or die(mysql_error()); $day_max = 0; $day_sum = 0; while ($r_gdays = mysql_fetch_array($q_gdays)) { $gb_day[$r_gdays['res_day']] = $r_gdays['res_count']; if ($r_gdays['res_count'] > $day_max) $day_max = $r_gdays['res_count']; $day_sum += $r_gdays['res_count']; } // Monthly Breakdown $sql_gmonths = "SELECT MONTH(time) AS res_month, COUNT(*) AS res_count FROM uts_match WHERE $bgwhere GROUP by res_month"; $q_gmonths = mysql_query($sql_gmonths) or die(mysql_error()); $month_max = 0; $month_sum = 0; while ($r_gmonths = mysql_fetch_array($q_gmonths)) { $gb_month[$r_gmonths['res_month']] = $r_gmonths['res_count']; if ($r_gmonths['res_count'] > $month_max) $month_max = $r_gmonths['res_count']; $month_sum += $r_gmonths['res_count']; } // very dirty hack, to deal with the $bgwhere containing an OR // if it contains an OR, all literals should be prefixed with "m." if (substr_count($bgwhere, ' or ') == 0){ $bgwhere = 'm.' . $bgwhere; } else { $bgwhere = substr($bgwhere, 1, -1); $part = explode(' or ', $bgwhere); $bgwhere = ''; foreach($part as $i){ $bgwhere .= 'm.' . $i . ' OR '; } $bgwhere = '(' . substr($bgwhere, 0, -4) . ')'; } // Country Breakdown $sql_gcountries = "SELECT country AS res_country, COUNT(*) AS res_count FROM (SELECT p.country AS country FROM uts_player AS p, uts_match AS m WHERE m.id = p.matchid AND $bgwhere GROUP BY p.pid, p.country) AS res_table GROUP BY res_country ORDER BY res_count DESC"; $q_gcountries = mysql_query($sql_gcountries) or die(mysql_error()); $country_max = 0; $country_sum = 0; $i = 0; while ($r_gcountries = mysql_fetch_array($q_gcountries)) { $gb_country[$i] = $r_gcountries['res_country'] . ";" . $r_gcountries['res_count']; if ($r_gcountries['res_count'] > $country_max) $country_max = $r_gcountries['res_count']; $country_sum += $r_gcountries['res_count']; $i++; } echo'
'; // Hourly for ($i = 0; $i <= 23; $i++) { if (!isset($gb_hour[$i])) $gb_hour[$i] = 0; $title = $gb_hour[$i] .' ('. get_dp($gb_hour[$i] / $hour_sum * 100) .' %)'; echo ''; } echo ''; // Daily for ($i = 0; $i <= 6; $i++) { if (!isset($gb_day[$i])) $gb_day[$i] = 0; $title = $gb_day[$i] .' ('. get_dp($gb_day[$i] / $day_sum * 100) .' %)'; echo ''; } echo ''; // Monthly for ($i = 1; $i <= 12; $i++) { if (!isset($gb_month[$i])) $gb_month[$i] = 0; $title = $gb_month[$i] .' ('. get_dp($gb_month[$i] / $month_sum * 100) .' %)'; echo ''; } echo ''; echo'
Hourly, Daily and Monthly Activity '.$gtitle.'
'. $title .''. $title .''. $title .'
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 M T W T F S S J F M A M J J A S O N D


'; global $a_countries; // The number of different countries we want to display $no_countries = 20; // Check if there are more countries then $no_countries; if so, we can have a "others" column if ( count($gb_country) < $no_countries ){ $max_cntry = count($gb_country); $collspan = $max_cntry + 2; $others = false; } else { $max_cntry = $no_countries; $collspan = $max_cntry + 3; $others = true; } echo'
'; // Countries $x = 0; for ($i = 0; $i < $max_cntry; $i++) { if (!isset($gb_hour[$i])) $gb_hour[$i] = 0; $country = explode(";",$gb_country[$i]); $title = $a_countries[$country[0]] .': ' . $country[1] . ' ('. get_dp($country[1] / $country_sum * 100) .' %)'; echo ''; $x += $country[1]; } if($others){ $countries_left = $country_sum - $x; $title = 'Other Countries: ' . $countries_left . ' ('. get_dp($countries_left / $country_sum * 100) .' %)'; echo ''; }; echo ''; echo''; for ($i = 0; $i < $max_cntry; $i++) { $country = explode(";",$gb_country[$i]); $country = strtoupper($country[0]); echo ''; } if($others){ echo ''; } echo'
  Origin of Players  
'. $title .''. $title .'
' . $country . '--

'; ?>