diff --git a/stats.php b/stats.php index 8af3852..7dc050b 100644 --- a/stats.php +++ b/stats.php @@ -13,7 +13,7 @@ if (!empty($_GET['for'])) { // TODO - for now all stats are de-facto public, this should not be true $labels = $visits = $uniques = []; - for ($d=14; $d>0; $d--) { + for ($d=14; $d>=0; $d--) { $labels[date('Y-m-d', strtotime('-'.$d.'days'))] = date('Dd', strtotime('-'.$d.'days')); $visits[date('Y-m-d', strtotime('-'.$d.'days'))] = 0; $uniques[date('Y-m-d', strtotime('-'.$d.'days'))] = 0; @@ -35,6 +35,29 @@ GROUP BY date', [':site_id'=>$site['id'], ':date_min'=>date('Y-m-d', strtotime(' $uniques[$stat['date']] = (int) $stat['visits']; } + $totalVisits = $pdo->run('SELECT COUNT(*) FROM visits WHERE site_id=?', [$site['id']])->fetchColumn(); + $byPaths = $pdo->run('SELECT path, COUNT(*) as visits +FROM visits +WHERE site_id=? +GROUP BY path +ORDER BY visits DESC', [$site['id']])->fetchAll(); + $byBrowsers = $pdo->run('SELECT browser, COUNT(*) as visits +FROM visits +WHERE site_id=? +GROUP BY browser +ORDER BY visits DESC', [$site['id']])->fetchAll(); + $byPlatforms = $pdo->run('SELECT platform, COUNT(*) as visits +FROM visits +WHERE site_id=? +GROUP BY platform +ORDER BY visits DESC', [$site['id']])->fetchAll(); + $byRefs = $pdo->run('SELECT ref, COUNT(*) as visits +FROM visits +WHERE site_id=? AND ref!="" +GROUP BY ref +ORDER BY visits DESC', [$site['id']])->fetchAll(); + + } else { $sites = $pdo->run('SELECT host, label, COUNT(*) AS visits, stats_public FROM visits @@ -58,6 +81,10 @@ ORDER BY visits DESC'); +