<?php

if (!defined('IN_SITE')) {
    die('The Request Not Found');
}

$CMSNT = new DB();
$Mobile_Detect = new Mobile_Detect();

if (!isset($_COOKIE['ctv_login'])) {
    redirect(base_url('client/logout'));
} else {
    // Validate và sử dụng prepared statement an toàn
    $ctv_token = validate_alphanumeric($_COOKIE['ctv_login'], 255);
    if ($ctv_token === false) {
        redirect(base_url('client/logout'));
    }
    $getUser = $CMSNT->get_row_safe("SELECT * FROM `users` WHERE `ctv` = 1 AND `token` = ?", [$ctv_token]);
    // chuyển hướng đăng nhập khi thông tin login không tồn tại
    if (!$getUser) {
        redirect(base_url('client/logout'));
    }
    // // Khác thiết bị khi login thì đăng xuất
    // if ($_COOKIE['user_agent'] != $Mobile_Detect->getUserAgent()){
    //     redirect(base_url('client/logout'));
    // }
    if ($getUser['device'] != $Mobile_Detect->getUserAgent()){
        redirect(base_url('client/logout'));
    }
    // chuyển hướng khi bị khoá tài khoản
    if ($getUser['banned'] != 0) {
        redirect(base_url('common/banned'));
    }
    // khoá tài khoản trường hợp âm tiền, tránh bug
    if ($getUser['money'] < 0) {
        $User = new users();
        $User->Banned($getUser['id'], 'Tài khoản âm tiền, ghi vấn bug');
        redirect(base_url('common/banned'));
    }
    /* cập nhật thời gian online */
    // Validate user ID và IP trước khi update
    $user_id = validate_int($getUser['id'], 1);
    $user_ip = validate_ip(myip());
    if ($user_id !== false && $user_ip !== false) {
        $CMSNT->update("users", [
            'update_date'   => gettime(),
            'ip'            => $user_ip
        ], " `id` = ?", [$user_id]);
    }
}

