\n"; $stats_file = "$site" . "/" . "$history_file"; parse_history_file($current_dir, $stats_file); } function parse_history_file($site, $stats_file) { if (is_file($stats_file)) { $row = 1; $handle = fopen ("$stats_file","r"); while ($data = fgetcsv ($handle, 1000, " ")) { // $num = count ($data); // print "

$num fields in line $row:
\n"; $mbytes = round(($data[5] / 1024), 2); $date = "$data[1]" . "-" . "$data[0]" . "-00"; // echo $date; $query = "DELETE FROM stats WHERE site=\"$site\" AND date=\"$date\""; $result = MYSQL_QUERY($query); $query = "INSERT INTO stats (site, date, kbytes) values(\"$site\", \"$date\", $data[5])"; $result = MYSQL_QUERY($query) or die ("Kan nieuwe records niet in de database stoppen"); $row++; } fclose ($handle); } } function scan_domains() { global $domains_base; global $history_file; if ($handle = opendir('/home/domains/')) { /* This is the correct way to loop over the directory. */ while (false !== ($file = readdir($handle))) { $directory = "$domains_base" . "/" . "$file"; if (is_dir($directory)) { // echo "$file
\n"; find_history_file($directory); } } closedir($handle); } } function fetch_domains_list() { $query = "SELECT DISTINCT site FROM stats ORDER BY site"; $result = @MYSQL_QUERY($query) or die ("Kan de lijst met domeinnamen niet ophalen"); $number = @MYSQL_NUMROWS($result); print "

"; print ""; print ""; print "
"; } function fetch_date_list() { $query = "SELECT DISTINCT date FROM stats ORDER BY date DESC"; $result = @MYSQL_QUERY($query) or die ("Kan de lijst met datums niet ophalen"); $number = @MYSQL_NUMROWS($result); print "
"; print ""; print ""; print "
"; } function fetch_date_results($date) { $query = "SELECT SUM(kbytes) FROM stats WHERE date=\"$date\""; $result = @MYSQL_QUERY($query) or die ("Kan de lijst met gegevens niet ophalen"); $number = @MYSQL_NUMROWS($result); $totalkb = @MYSQL_FETCH_ROW($result); $totalmb = round(($totalkb[0] / 1024), 2); $totalgb = round(($totalkb[0] / 1048576), 2); print "Totaal verkeer geserveerd door webserver: $totalmb MB / $totalgb GB"; $query = "SELECT * FROM stats WHERE date=\"$date\" ORDER BY kbytes DESC"; $result = @MYSQL_QUERY($query) or die ("Kan de lijst met gegevens niet ophalen"); $number = @MYSQL_NUMROWS($result); print ""; print ""; if( $number == 0 ) { // nothing to see here, move along print ""; } $i = 0; while ($i < $number) { $site = mysql_result($result,$i,"site"); $kbytes = mysql_result($result,$i,"kbytes"); $mbytes = round(($kbytes / 1024), 2); $gbytes = round(($kbytes / 1048576), 2); print ""; $i++; } print "
SiteDateTraffic (MB)Traffic (GB)
Leeg
$site stats totals $date$mbytes MB$gbytes GB
"; } function fetch_site_results($site) { $query = "SELECT SUM(kbytes) FROM stats WHERE site=\"$site\""; $result = @MYSQL_QUERY($query) or die ("Kan de lijst met gegevens niet ophalen"); $number = @MYSQL_NUMROWS($result); $totalkb = @MYSQL_FETCH_ROW($result); $totalmb = round(($totalkb[0] / 1024), 2); $totalgb = round(($totalkb[0] / 1048576), 2); print "Totaal verkeer geserveerd door webserver: $totalmb MB / $totalgb GB"; $query = "SELECT * FROM stats WHERE site=\"$site\" ORDER BY date DESC"; $result = @MYSQL_QUERY($query) or die ("Kan de lijst met gegevens niet ophalen"); $number = @MYSQL_NUMROWS($result); print ""; print ""; if( $number == 0 ) { // nothing to see here, move along print ""; } $i = 0; while ($i < $number) { $site = mysql_result($result,$i,"site"); $date = mysql_result($result,$i,"date"); $kbytes = mysql_result($result,$i,"kbytes"); $mbytes = round(($kbytes / 1024), 2); $gbytes = round(($kbytes / 1048576), 2); print ""; $i++; } print "
SiteDateTraffic (MB)Traffic (GB)
Leeg
$site$date$mbytes MB$gbytes GB
"; } if ($date == "") { if ($site == "") { scan_domains(); $today = date("Y-m-00"); header("Location: sites_stats.php?date=$today"); } } print ""; print "Traffic overzicht alle websites"; print ""; fetch_domains_list(); fetch_date_list(); if ($date) { fetch_date_results($date); } if ($site) { fetch_site_results($site); } MYSQL_CLOSE(); print ""; print ""; ?>