diff --git a/mysyde/admin/dashboard_startpage.php b/mysyde/admin/dashboard_startpage.php index 7bc0a3a..982feba 100644 --- a/mysyde/admin/dashboard_startpage.php +++ b/mysyde/admin/dashboard_startpage.php @@ -32,6 +32,26 @@ function count_entrys($table){ $GLOBALS["pdo_conn"] = new PDO("mysql:host=".$GLOBALS['myservername'].";dbname=".$GLOBALS['mydb'].';charset=utf8', $GLOBALS['mylogin'], $GLOBALS['mypass']); +function getLoginChartData($days = 30) { + $rows = []; + $result = @mysqli_query($GLOBALS['mysql_con'], + "SELECT login_date, COUNT(*) AS cnt FROM stat_login_daily + WHERE login_date >= DATE_SUB(CURDATE(), INTERVAL " . (int)$days . " DAY) + GROUP BY login_date" + ); + while ($row = @mysqli_fetch_assoc($result)) { + $rows[$row['login_date']] = (int)$row['cnt']; + } + $labels = []; + $values = []; + for ($i = $days - 1; $i >= 0; $i--) { + $date = date('Y-m-d', strtotime("-{$i} days")); + $labels[] = date('d.m.', strtotime($date)); + $values[] = $rows[$date] ?? 0; + } + return ['labels' => $labels, 'values' => $values]; +} + function listUsers(){ $query = "SELECT * FROM main_contact ORDER BY last_interaction DESC LIMIT 20"; $result = @mysqli_query($GLOBALS['mysql_con'], $query); @@ -141,4 +161,49 @@ $GLOBALS['log_language'] = $language; + + + +