<?php
/* doc-project | pointages/admin.php | Protège l’accès administrateur via PIN/session/IP autorisée et permet l’ajout d’un salarié en base. | Expose: aucun | Dépend de: config.php, index.php, connexion.php | Impacte: état de session, accès à l’interface, insertion BDD, redirection | Tables: pos_ip_authorizations(ip_address, authorized_until), z_ptg_aqp_utilisateurs(Nom, Prenom, DateDeNaissance, Role, Email, CodePin, DateDeCreation, Statut) */



session_start();

if (!isset($_SESSION['pin_verifie']) || $_SESSION['pin_verifie'] !== true) {
    header('Location: index.php'); // Rediriger vers la page de saisie du PIN
    exit;
}

// Connexion à la base de données
require_once "config.php"; // Assurez-vous que ce fichier existe et contient les bonnes informations de connexion

// Vérification de l'autorisation d'accès
$ip_address = $_SERVER['REMOTE_ADDR'];
$isAuthorized = false;

// Utilisez l'objet PDO déjà créé dans config.php
global $pdo;

if (isset($_SESSION['authorized']) && $_SESSION['authorized'] === true) {
    // L'utilisateur est déjà autorisé via la session
    $isAuthorized = true;
} else {
    // Vérification de l'autorisation de l'IP dans la base de données
    try {
        $stmt = $pdo->prepare("SELECT COUNT(*) FROM pos_ip_authorizations WHERE ip_address = :ip_address AND authorized_until > NOW()");
        $stmt->execute([':ip_address' => $ip_address]);
        $count = $stmt->fetchColumn();
        
        if ($count > 0) {
            // L'adresse IP est autorisée
            $_SESSION['authorized'] = true;
            $isAuthorized = true;
        }
    } catch (PDOException $e) {
        // En cas d'erreur de base de données, affichez l'erreur
        echo "Erreur de base de données : " . $e->getMessage();
        exit;
    }
}

// Si l'utilisateur n'est pas autorisé, redirigez-le vers connexion.php
if (!$isAuthorized) {
    header('Location: connexion.php?access=refused');
    exit;
}

?>
<!DOCTYPE html>

<html>

<head>

<meta http-equiv="content-type" content="text/html; charset=utf-8" />

<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">





<title>Ajout nouveau salarié</title>

<!--



Template 2089 Meteor



http://www.tooplate.com/view/2089-meteor



-->

<meta name="description" content="">

<meta name="viewport" content="width=device-width, initial-scale=1">

<link rel="apple-touch-icon" href="apple-touch-icon.png">



<link rel="stylesheet" href="css/bootstrap.min.css">

<link rel="stylesheet" href="css/bootstrap-theme.min.css">

<link rel="stylesheet" href="css/fontAwesome.css">

<link rel="stylesheet" href="css/fontAwesome.css">
<link rel="stylesheet" href="css/hero-slider.css">
<link rel="stylesheet" href="css/tooplate-style.css">
<?php
$cssPath = __DIR__ . '/css/style.css';
$cssVersion = file_exists($cssPath) ? filemtime($cssPath) : time();
?>
<link rel="stylesheet" href="css/style.css?v=<?php echo (int)$cssVersion; ?>">



<link href="https://fonts.googleapis.com/css?family=Open+Sans:300,400,600,700,800" rel="stylesheet">



<script src="js/vendor/modernizr-2.8.3-respond-1.4.2.min.js"></script>

</head>

<body class="page-admin theme-dark">







<div id="about" class="page-section">

<div class="container">

<div class="row">

<div class="col-md-12">

<div class="section-heading">

<h1>Ajout nouvel employé</h1>





<h4></h4><div class="line-dec"></div>                        



<center><font color="white">











<!-- Formulaire pour ajouter un employé -->

<br>
<font color="black">
<form method="post" action="">
<!-- Ajouter les champs manquants ici -->
<input type="text" name="nom" placeholder="Nom" required><br><br>
<input type="text" name="prenom" placeholder="Prénom" required><br><br>

<input type="text" id="dateDeNaissance" name="dateDeNaissance" oninput="formaterDate(this)" inputmode="numeric" maxlength="10" placeholder="JJ/MM/AAAA"><br><br>
<input type="text" name="role" placeholder="Role" ><br><br>
<input type="email" name="email" placeholder="Email" ><br><br>
<input type="text" name="codePin" placeholder="Code Pin" ><br><br>

<input type="submit" name="submit" value="Ajouter">
</font>
</form>







<br><br><br>

<font color="white">

<?php
if (isset($_POST['submit'])) {
    $dateParts = explode('/', $_POST['dateDeNaissance']);
    $dateDeNaissanceFormatted = $dateParts[2] . '-' . $dateParts[1] . '-' . $dateParts[0];

    // Récupérer les données du formulaire
    $nom = $_POST['nom'];
    $prenom = $_POST['prenom'];
    $dateDeNaissance = $_POST['dateDeNaissance'];
    $role = $_POST['role'];
    $email = $_POST['email'];
    $codePin = $_POST['codePin'];
    
    // Construire et exécuter la requête INSERT
    $stmt = $pdo->prepare("INSERT INTO z_ptg_aqp_utilisateurs (Nom, Prenom, DateDeNaissance, Role, Email, CodePin, DateDeCreation, Statut) VALUES (?, ?, ?, ?, ?, ?, NOW(), 'actif')");
    $stmt->execute([$nom, $prenom, $dateDeNaissanceFormatted, $role, $email, $codePin]);
    
    // Rediriger avec toast (affiché sur index.php)
    $toastMessage = rawurlencode('Employé ajouté avec succès');
    echo "<script>window.location.href = 'index.php?toast={$toastMessage}&toastType=success';</script>";
}
?>






<br><br><br><br><br>

<font color="black">

<button onclick="window.location.href = 'index.php';"> Retourner page employés </button>

</font>





</font>

</center>

</div></div></div></div>



<p><a href="index.php">Retour accueil</a></p>

</div>



















<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>

<script>window.jQuery || document.write('<script src="js/vendor/jquery-1.11.2.min.js"><\/script>')</script>



<script src="js/vendor/bootstrap.min.js"></script>



<script src="js/plugins.js"></script>

<script src="js/main.js"></script>





<script type="text/javascript">

$(document).ready(function() {
    
    // navigation click actions 
    
    $('.scroll-link').on('click', function(event){
        
        event.preventDefault();
        
        var sectionID = $(this).attr("data-id");
        
        scrollToID('#' + sectionID, 750);
        
    });
    
    // scroll to top action
    
    $('.scroll-top').on('click', function(event) {
        
        event.preventDefault();
        
        $('html, body').animate({scrollTop:0}, 'slow');         
        
    });
    
    // mobile nav toggle
    
    $('#nav-toggle').on('click', function (event) {
        
        event.preventDefault();
        
        $('#main-nav').toggleClass("open");
        
    });
    
});

// scroll function

function scrollToID(id, speed){
    
    var offSet = 50;
    
    var targetOffset = $(id).offset().top - offSet;
    
    var mainNav = $('#main-nav');
    
    $('html,body').animate({scrollTop:targetOffset}, speed);
    
    if (mainNav.hasClass("open")) {
        
        mainNav.css("height", "1px").removeClass("in").addClass("collapse");
        
        mainNav.removeClass("open");
        
    }
    
}

if (typeof console === "undefined") {
    
    console = {
        
        log: function() { }
        
    };
    
}


function formaterDate(input) {
    var valeur = input.value;
    var chiffres = valeur.replace(/\D/g, ''); // Supprime tous les caractères non-numériques
    
    // Ajoute des '/' après le jour et le mois
    chiffres = chiffres.substring(0, 2) + (chiffres.length > 2 ? '/' : '') + chiffres.substring(2, 4) + (chiffres.length > 4 ? '/' : '') + chiffres.substring(4, 8);
    
    input.value = chiffres;
}


</script>

</body>

</html>