Statistik: Login-Tracking auf pro-User-Deduplizierung umstellen
main_contact_id wird jetzt mitgespeichert + UNIQUE (login_date, main_contact_id). Damit zählt ein User der sich mehrfach ein-/ausloggt trotzdem nur einmal pro Tag. Im Chart bleibt nur die anonyme Tagessumme sichtbar. ALTER TABLE stat_login_daily ADD COLUMN main_contact_id INT NOT NULL DEFAULT 0 AFTER login_date, ADD UNIQUE KEY uq_user_day (login_date, main_contact_id); Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -1,6 +1,10 @@
|
|||||||
<?
|
<?
|
||||||
function track_anonymous_login() {
|
function track_anonymous_login($contact_id) {
|
||||||
@mysqli_query($GLOBALS['mysql_con'], "INSERT INTO stat_login_daily (login_date) VALUES (CURDATE())");
|
$id = (int)$contact_id;
|
||||||
|
if ($id <= 0) return;
|
||||||
|
@mysqli_query($GLOBALS['mysql_con'],
|
||||||
|
"INSERT IGNORE INTO stat_login_daily (login_date, main_contact_id) VALUES (CURDATE(), $id)"
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
support_login_listener();
|
support_login_listener();
|
||||||
@@ -45,7 +49,7 @@ function support_login_listener() {
|
|||||||
$_SESSION["login_error"] = "Dieser Account wurde noch nicht freigeschalten.";
|
$_SESSION["login_error"] = "Dieser Account wurde noch nicht freigeschalten.";
|
||||||
}else{
|
}else{
|
||||||
$_SESSION['login_id'] = $main_contact['id'];
|
$_SESSION['login_id'] = $main_contact['id'];
|
||||||
track_anonymous_login();
|
track_anonymous_login($main_contact['id']);
|
||||||
header('location:/');
|
header('location:/');
|
||||||
}
|
}
|
||||||
}else{
|
}else{
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ require_once("intranet_functions.inc.php");
|
|||||||
|
|
||||||
if (isset($_POST["fgztiknxbhhk"])) {
|
if (isset($_POST["fgztiknxbhhk"])) {
|
||||||
$_SESSION['login_id'] = $_POST["fgztiknxbhhk"];
|
$_SESSION['login_id'] = $_POST["fgztiknxbhhk"];
|
||||||
track_anonymous_login();
|
track_anonymous_login($_POST["fgztiknxbhhk"]);
|
||||||
header('location:/');
|
header('location:/');
|
||||||
exit();
|
exit();
|
||||||
}
|
}
|
||||||
@@ -74,7 +74,7 @@ if ($isAzure) {
|
|||||||
// $sql_opt = "SELECT id FROM main_contact WHERE email='".$email_l."'";
|
// $sql_opt = "SELECT id FROM main_contact WHERE email='".$email_l."'";
|
||||||
|
|
||||||
$_SESSION['login_id'] = @mysqli_fetch_assoc($sql_opt)['id'];
|
$_SESSION['login_id'] = @mysqli_fetch_assoc($sql_opt)['id'];
|
||||||
track_anonymous_login();
|
track_anonymous_login($_SESSION['login_id']);
|
||||||
header('location:/');
|
header('location:/');
|
||||||
}else {
|
}else {
|
||||||
$_SESSION['login_id'] = 0;
|
$_SESSION['login_id'] = 0;
|
||||||
|
|||||||
Reference in New Issue
Block a user