run('SELECT * FROM sites WHERE host=?', [$_GET['for']])->fetch(); if ($site) { // TODO - for now all stats are de-facto public, this should not be true $labels = $visits = $uniques = []; 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; } $last14days = $pdo->run('SELECT date(datetime(ts, \'unixepoch\')) as date, COUNT(*) as visits FROM visits WHERE site_id=:site_id AND date>=:date_min AND date<=:date_max GROUP BY date', [':site_id'=>$site['id'], ':date_min'=>date('Y-m-d', strtotime('-14 days')), ':date_max'=>date('Y-m-d')]); foreach ($last14days as $stat) { $visits[$stat['date']] = (int) $stat['visits']; } $last14daysUniq = $pdo->run('SELECT date(datetime(ts, \'unixepoch\')) as date, COUNT(*) as visits FROM visits WHERE site_id=:site_id AND is_unique=1 AND date>=:date_min AND date<=:date_max GROUP BY date', [':site_id'=>$site['id'], ':date_min'=>date('Y-m-d', strtotime('-14 days')), ':date_max'=>date('Y-m-d')]); foreach ($last14daysUniq as $stat) { $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 INNER JOIN sites ON visits.site_id=sites.id GROUP BY site_id ORDER BY visits DESC'); } } else { $sites = $pdo->run('SELECT host, label, COUNT(*) AS visits, stats_public FROM visits INNER JOIN sites ON visits.site_id=sites.id GROUP BY site_id ORDER BY visits DESC'); } ?>