<?php
session_start();
require_once("functions.php");

// se l'utente ha già effettuato l'accesso, reindirizzalo alla pagina home
if (isset($_SESSION["DAST-SERVER"]['info_utente_logged'])) {
    header("Location: home.php");
exit;
}

// se l'utente ha inviato il modulo di accesso
if (isset($_POST["username"]) && !empty($_POST["username"]) && isset($_POST["password"]) && !empty($_POST["password"])) {
    $username = $_POST["username"];
    $password = $_POST["password"];
    $ip_address = $_SERVER['REMOTE_ADDR'];

    // cerca l'utente nel database
    $array_login = array('username' => $username, 'password' => $password);
    $sql_login = "SELECT * FROM clienti WHERE username = :username AND password = :password AND stato = 1 LIMIT 1";
    list($status_login, $contenuto_login, $nrows_login) = read_db_pdo($sql_login, $array_login);

    // se le credenziali di accesso dell'utente sono corrette
    if ($nrows_login == 1) {
        $id_utente = (int) $contenuto_login[0]["id_cliente"];
        if ($id_utente < 1 ) {
            $errori_input[] = "KO1";
            exit;
        }

        $user_logged = $contenuto_login[0]["username"];
        if ($user_logged != $username ) {
            $errori_input[] =  "KO2";
            exit;
        }

        $stato = $contenuto_login[0]["stato"];
        if ($stato == 0 ) {
            $errori_input[] =  "KO2000";
            exit;
        }

        // salva le informazioni dell'utente nella sessione
        $oggi = date("d-m-Y");
        $server = $_SERVER['SERVER_NAME'];
        $info_utente_logged = array("username" => $user_logged, "id_utente" => $id_utente, "data" => $oggi);
        $_SESSION["NOW-SERVER"]["hash_info_utente_logged"] = md5($user_logged.$oggi.$server);
        $_SESSION["NOW-SERVER"]['info_utente_logged'] = $info_utente_logged;

        // se l'utente ha selezionato la casella di controllo "Ricordami"
        if (isset($_POST['remember_me']) && $_POST['remember_me'] == 1) {
            // salva l'ID dell'utente e la passwordcrittografata in un cookie sicuro
            $password_crittografata = password_hash($password, PASSWORD_DEFAULT);
           // setcookie('remember_me', $id_utente . ':' . $password_crittografata, time() + (86400 * 365), '/', '', true, true);
			setcookie('Authication', $username . '-----' . $password, time() + (86400 * 365), '/', '', true, true);
        }

        // reindirizza l'utente alla pagina home
        header("Location: home.php");
        exit;

    } else {
        $n_tentativi_login = check_admin_failed_login();
        if ($n_tentativi_login < 15) {
            $errori_input[] =  "KO100";
            header("Location: index.php");
            exit;
        } else {
            $errori_input[] =  "KO1000";
            header("Location: index.php");
            exit;
        }
    }

    if (!empty($errori_input)) {
        foreach ($errori_input as $errore) {
            echo $errore."\n";
        }
        exit;
    }
}

// se l'utente effettua manualmente il logout
if (isset($_GET['logout']) && $_GET['logout'] == 1) {
    // cancella il cookie "remember_me"
    setcookie('remember_me', '', time() - 3600, '/', '', true, true);
    // distruggi la sessione
    session_destroy();
    $_SESSION = array();
    //reindirizza l'utente alla pagina di accesso
    header("Location: index.php");
    exit;
}

$temp_auth = explode("-----", $_COOKIE["Authication"]);
$username = $temp_auth[0];
$password = $temp_auth[1];
?>
<!doctype html>
<html lang="it">
<head>
    <title>NOW - Login</title>
    <link rel="stylesheet" href="./front-end-files/css/bootstrap-italia.min.css" />
    <link rel="stylesheet" href="./front-end-files/css/stile.css" />
    <script src="./front-end-files/js/bootstrap-italia.bundle.min.js"></script>
    <script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script>
    <link rel="icon" type="image/png" href="./images/now_icon.png" />
    <script>window.__PUBLIC_PATH__ = 'fonts'</script>
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
    <link rel="icon" type="image/png" href="./images/dast_logo.png"/>
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.10.3/font/bootstrap-icons.css">
	<style>
      footer {
        position: absolute;
        bottom: 0;
        width: 100%;
      }
      
      footer p {
        position: relative;
        margin-top: 10px;
        text-align: center;
        color: white;
      }
    </style>
</head>
<body style="background-color: #001211;">
<div class="login" style="background: #001211;">
    <div style="text-align: center;margin-bottom: 20px;">
        <img src="./images/now.svg" alt="logo" width="200" height="200" style="margin-top: 5px;">
		<h2 class="mobile"style="color:white;font-family: 'DaznTrimBold';font-size:2.8em;"></h2>
			<hr class="no_mobile">
    </div>
	  <div class="avviso"style="color:white;font-family: 'DaznTrimBold';font-size:1.7em;">
    <p>⚠️ATTENZIONE⚠️ Credenziali Non Corrette o Scadute</p>

    </div>
    <div class="login__form">
        <form method="post" action="index.php">
            <div class="form-group">
                <label for="username" style="color:#FFF;"></label>
                <input type="text" class="form-control" id="user" aria-describedby="userhelp" name="username" value="<?php echo $username; ?>" placeholder="USERNAME" style="background:color:#000" required>
            
            <div class="form-group">
                <label for="password" style="color:#FFF;"></label>
                <input type="password" class="form-control" id="password" name="password" value="<?php echo $password; ?>" placeholder="Password" style="background:color:#000" required>
				<?php if (isset($errori_input) && in_array("KO100", $errori_input)): ?>
        <small class="form-text text-danger">Credenziali non corrette</small>
    <?php endif; ?>
	        <div class="alert alert-fill-danger" role="alert" id="error_login" style="display:none">
								<i class="mdi mdi-alert-circle"></i>ERRORE! Dati non validi
        </div>            
            <input type="submit" class="btn btn-primary" value="Accedi" name="submit" id="submit"
       style="background: #00818a; color: white; width: 100%; cursor: pointer; font-family: Arial Black, sans-serif;"
       onmouseover="this.style.background='#01666e';" onmouseout="this.style.background='#00818a';">
        </form>
		<div class="form-check">
                <input type="checkbox" class="form-check-input"id="remember" name="remember_me" value="1" style="margin-top: 5px;">
                <label class="form-check-label" for="remember" style="color:white;">Ricordami</label>

  <style>
    .avviso {
      border: 5px solid #00818a;
      background-color: #01666e;
      padding: 0px;
      width: 215px;
      color: black;
      margin: 0 auto; /* Imposta il margine automatico per centrare l'avviso */
    }
  </style>
</head>
<body>

  <footer>
    <p></p>
  </footer>
  <script>
	document.getElementById('submit').focus();
  </script>
</body> 


</html>
