<?php
// // ini_set('display_errors', 1);
// // ini_set('display_startup_errors', 1);
// error_reporting(E_ALL);

$paginaPubblica = true;
require_once("../UNIFARE/assets/inc/base.php");


$erroreLogin = false;
if (isset($_GET['statoLogin'])) {
    $statoLogin = json_decode(base64_decode(urldecode($_GET['statoLogin'])), true);
    unset($_GET['shibd']);
    if ($statoLogin['success'] == 1) {
        $dati = json_decode(base64_decode(urldecode($_GET['datiLogin'])), true);
        $GLOBALS['serverImportato'] = json_decode(base64_decode(urldecode($_GET['server'])), true);

        require_once("../UNIFARE/controller/utente.php");
        $utenteCtrl = new UtenteController();
        $loginResult = $utenteCtrl->getUtente('', '', $dati['idLingua'], $dati['accediCon'], $dati['sezioneLogin'], $dati['idModuloRiferimento'], $dati['frontend']);
        if ($loginResult['success'] == 1) {
            $redirectTarget = getUrlRedirectDopoLogin($nomeSezione) ?? 'dashboard_studente.php';
            header('location: ' . $redirectTarget);
            die();
        }
    }
    $erroreLogin = true;
}

if (isset($_GET['shibd'])) {
    $dati = [
        'dest' => $_GET['dest'] ?? 'https://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'],
        'idLingua' => 1,
        'accediCon' => 4, // era 5 (tipologia ad-hoc UNIMIB, mai gestita dal motore condiviso): unificato allo standard
        'sezioneLogin' => $nomeSezione,
        'idModuloRiferimento' => $idModuloRiferimento,
        'frontend' => true
    ];
    setcookie('shibd_login', json_encode($dati), time() + (86400 * 30), '/'); // 86400 = 1 day
    header('Location: ' . $GLOBALS['sitoPathPiattaforma'] . '/sso/?datiLogin=' . urlencode(base64_encode(json_encode($dati))));
    die();
}

$titolo = "Placement";
$pagina_attiva = "Login";

require_once(__DIR__ . '/view/briciole.php');
$bricioleView = new BricioleViewFrontend();
$vociCliccabili = [
    //["link"=> "dashboard.php","nome" => "Home"]
];
$voceAttiva = "Accedi";
$noBriciole = false;
$briciole = $bricioleView->briciole($vociCliccabili, $voceAttiva, "index.php");

require_once("../UNIFARE/controller/utente.php");
$utenteCtrl = new UtenteController();

require_once(__DIR__ . '/view/moduli.php');
$moduliView = new ModuliViewFrontend();

// if (isset($_SESSION["login" . $nomeSezione]) and $_SESSION["login" . $nomeSezione]) {
//     header("Location: index.php");
// }

//var_dump($_SESSION);
if (isset($_SESSION["login" . $nomeSezione]) and $_SESSION["login" . $nomeSezione]) {
	header("Location: index.php");
	die();
}

if ((isset($_POST["action"]) and $_POST["action"] == "loginUtente") || isset($_GET['akey'])) {

    //Parte relativa al login
    if (isset($_POST['username']) && isset($_POST['password'])) {
        $utenteCtrl = new UtenteController();
        $loginResult = $utenteCtrl->getUtente($_POST['username'], $_POST['password'], $_SESSION['idLingua' . $nomeSezione] ?? 1, $_POST['idTipologiaLogin'], $nomeSezione, $idModuloRiferimento, true); //quel parametro "1" che manca sarà idLingua
    } else if (isset($_GET['akey'])) {
		$loginResult = $utenteCtrl->getUtente([
			'codiceAccessoAdmin' => $_GET['akey'],
			'idUtenteAdmin' => $_GET['id'] ?? 0,
			'sezioneLogin' => $nomeSezione,
			'idModuloRiferimento' => $idModuloRiferimento,
			'frontend' => true
		]);
	}

    $accedi = '';

    if (isset($_SESSION['login' . $nomeSezione]) && $_SESSION['login' . $nomeSezione]) {
        if (isset($_SESSION['idTipologieUtente' . $nomeSezione])) {
            if (in_array(6, $_SESSION['idTipologieUtente' . $nomeSezione])) { //azienda
                $accedi = 'dashboard.php';
            } else if (in_array(3, $_SESSION['idTipologieUtente' . $nomeSezione])) { //studente
                $accedi = 'dashboard_studente.php';
            } else {
                $errore = true;
            }
        } else {
            $errore = true;
        }
    } else {
        $errore = true;
    }
    if ($accedi) {
        $redirectTarget = getUrlRedirectDopoLogin($nomeSezione) ?? $accedi;
        header('location: ' . $redirectTarget);
        die();
    }
}

?>
<html>

<head>
    <?php require_once '../UNIFARE/assets/inc/headerBase.php' ?>
    <title><?= $NomeUniversita ?> | <?= $titolo ?></title>
    <?php require_once '../UNIFARE/assets/inc/cssBase.php'; ?>
</head>

<body class="frontend">
    <div class="page-container">
        <?php require_once(__DIR__.'/assets/inc/menu.php'); ?>
        <div class="container">
            <div class="row" id="loginForm">
                <div class="col-12">
                    <?php if (isset($_GET['careerfair'])) { ?>
                        <?= $moduliView->getAlertCareerFairLogin() ?>
                    <?php } ?>
                    <?= $moduliView->getIntroProfiliLogin() ?>
                </div>
                <?= $moduliView->getCardProfiliLogin((int) ($_POST['shibdSubito'] ?? 0)) ?>
            </div>
        </div>
        <?php require_once(__DIR__.'/assets/inc/footer.php'); ?>
    </div>
    <?php require_once("../UNIFARE/assets/inc/jsBase.php") ?>
    <?php if ($erroreLogin) {
        require_once("../UNIFARE/controller/globale.php");
        $globaleCtrl = new GlobaleController();
        $messaggioLogin = $globaleCtrl->escapeJs((string) ($statoLogin['messaggio']['testo'] ?? ''));
        $sitoLogout = $globaleCtrl->escapeJs((string) ($GLOBALS['Sito'] ?? ''));
    ?>
        <script>
            swal('Ci sono stati problemi con il tuo accesso', <?= $messaggioLogin ?>, 'warning')
            $.ajax(<?= $sitoLogout ?> + '/logout.php?nomeSezione=Placement')
        </script>
    <?php } ?>

</body>

</html>