147 lines
5.6 KiB
PHP
147 lines
5.6 KiB
PHP
<?php
|
|
|
|
require("../../include/variables.php");
|
|
require("../../include/init.php");
|
|
|
|
if (!isset($_SESSION['userRole']) || $_SESSION['userRole'] < 50) {
|
|
http_response_code(403);
|
|
die("Vous n'êtes pas autorisé à accéder à cette ressource");
|
|
}
|
|
|
|
require("../../include/main-functions.php");
|
|
require("../../include/objects.php");
|
|
require("../../include/inputs.php");
|
|
require("../../include/panels.php");
|
|
|
|
$pdo = sqlConnect($sqlDatabaseHost, $sqlDatabaseName, $sqlDatabaseUser, $sqlDatabasePass);
|
|
|
|
if (isset($_POST['adhesion-id'])) {
|
|
$userID = (int)$_POST['adhesion-id'];
|
|
try {
|
|
// Requête SQL pour déplacer la ligne
|
|
$sql = "
|
|
INSERT INTO adherents (firstname, lastname, born, promo, club, email, validation_date, userid)
|
|
SELECT firstname, lastname, born, promo, club, email, request_date, userid
|
|
FROM adhesion_requests
|
|
WHERE ID = ?";
|
|
|
|
$sql2 = "DELETE FROM adhesion_requests WHERE ID = ?;";
|
|
|
|
$insertStmt = $pdo->prepare($sql);
|
|
$insertStmt->bindParam(1, $userID, PDO::PARAM_INT);
|
|
|
|
// Préparation de la requête
|
|
if ($insertStmt->execute()) {
|
|
// Requête pour supprimer la ligne de la table d'origine
|
|
$sqlDelete = "DELETE FROM adhesion_requests WHERE ID = ?";
|
|
|
|
// Préparation de la requête de suppression
|
|
$deleteStmt = $pdo->prepare($sql2);
|
|
$deleteStmt->bindParam(1, $userID, PDO::PARAM_INT);
|
|
|
|
// Exécution de la requête de suppression
|
|
if ($deleteStmt->execute()) {
|
|
// Valider la transaction
|
|
$pdo->commit();
|
|
$status = "Adhésion validée";
|
|
} else {
|
|
// En cas d'erreur lors de la suppression, annuler la transaction
|
|
$pdo->rollBack();
|
|
$status = "Erreur lors de la suppression de la ligne";
|
|
error_log("Erreur lors de l'exécution de la requête de suppression : " . $deleteStmt->errorInfo()[2]);
|
|
}
|
|
} else {
|
|
// En cas d'erreur lors de l'insertion, annuler la transaction
|
|
$pdo->rollBack();
|
|
$status = "Erreur lors de l'insertion de la ligne";
|
|
error_log("Erreur lors de l'exécution de la requête d'insertion : " . $insertStmt->errorInfo()[2]);
|
|
}
|
|
} catch (Exception $e) {
|
|
// En cas d'exception, annuler la transaction
|
|
$status = "Erreur SQL";
|
|
error_log("Erreur : " . $e->getMessage());
|
|
}
|
|
}
|
|
|
|
?>
|
|
|
|
<!DOCTYPE html>
|
|
<html lang="fr">
|
|
|
|
<head>
|
|
<?php fillHead($rootPageURL, "Admin - " . $pageName, $darkTheme, $lightTheme);?>
|
|
<style>
|
|
.users-list {
|
|
display: flex;
|
|
flex-direction: column;
|
|
}
|
|
.user-row {
|
|
margin: 1em;
|
|
border: 1px solid var(--text);
|
|
border-radius: 100px;
|
|
padding: 0 0.5em 0 1em;
|
|
}
|
|
.user-row form {
|
|
display: flex;
|
|
flex-direction: row;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
}
|
|
.user-row button {
|
|
display: inline;
|
|
}
|
|
</style>
|
|
</head>
|
|
|
|
<body class="body">
|
|
|
|
<header>
|
|
<div class="panel-content">
|
|
<?php fillHeader($rootPageURL, $headerTitle, $headerSubtitle, $social);?>
|
|
</div>
|
|
</header>
|
|
|
|
<nav>
|
|
<div class="panel-content">
|
|
<?php fillNav($rootPageURL);?>
|
|
</div>
|
|
</nav>
|
|
|
|
<main>
|
|
<div class="content">
|
|
<?=$status?>
|
|
<?php
|
|
echo ('<form action="" method="get">');
|
|
$shapePath = '<path d="M10.25 3.75c-3.59 0-6.5 2.91-6.5 6.5s2.91 6.5 6.5 6.5c1.795 0 3.419-.726 4.596-1.904 1.178-1.177 1.904-2.801 1.904-4.596 0-3.59-2.91-6.5-6.5-6.5zm-8.5 6.5c0-4.694 3.806-8.5 8.5-8.5s8.5 3.806 8.5 8.5c0 1.986-.682 3.815-1.824 5.262l4.781 4.781-1.414 1.414-4.781-4.781c-1.447 1.142-3.276 1.824-5.262 1.824-4.694 0-8.5-3.806-8.5-8.5z"></path>';
|
|
textInput("text", $shapePath, "search", "Chercher", "");
|
|
echo ('</form>');
|
|
|
|
$search = isset($_GET['search']) ? '%' . $_GET['search'] . '%' : '%%';
|
|
|
|
$sqlRequest = "SELECT adhesion_requests.ID, adhesion_requests.firstname, adhesion_requests.lastname, adhesion_requests.request_date FROM adhesion_requests";
|
|
$request = $pdo->prepare($sqlRequest);
|
|
$request->execute();
|
|
$result = $request->fetchAll(PDO::FETCH_ASSOC);
|
|
|
|
if ($result) {
|
|
echo ('<div class="users-list">');
|
|
foreach($result as $row) {
|
|
echo ('<div class="user-row">');
|
|
echo ('<form action="#" method="post">');
|
|
echo ('<div>' . $row['firstname'] . ' ' . $row['lastname'] . '</div><div>' . $row['request_date'] . '</div><div><input type="hidden" name="adhesion-id" value="' . $row['ID'] . '"><button type="submit" style="margin-left: 1em;">Accepter</button></div>');
|
|
echo ('</form></div>');
|
|
}
|
|
echo ('</div>');
|
|
} else {
|
|
echo ('Aucun utilisateur trouvé.');
|
|
}
|
|
?>
|
|
</div>
|
|
</main>
|
|
<footer>
|
|
<div class="panel-content">
|
|
<?php fillFooter($footerText);?>
|
|
</div>
|
|
</footer>
|
|
</body>
|
|
</html>
|