appel à la fonction de log aux endroits sensibles

This commit is contained in:
Esenjin 2025-01-09 13:01:53 +01:00
parent eb06ff5ed0
commit 3da7711660
7 changed files with 164 additions and 32 deletions

View File

@ -25,7 +25,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
switch ($_POST['action']) { switch ($_POST['action']) {
case 'upload': case 'upload':
$uploadedFiles = $_FILES['images'] ?? []; $uploadedFiles = $_FILES['images'] ?? [];
$successCount = 0; $successCount = 0; // Initialiser le compteur
$errors = []; $errors = [];
// Gérer les uploads multiples // Gérer les uploads multiples
@ -51,7 +51,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
} }
if (move_uploaded_file($tmpName, $destination)) { if (move_uploaded_file($tmpName, $destination)) {
$successCount++; $successCount++; // Incrémenter le compteur en cas de succès
} else { } else {
$errors[] = "Erreur lors du déplacement de $fileName"; $errors[] = "Erreur lors du déplacement de $fileName";
} }
@ -61,6 +61,16 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
} }
} }
// Loguer l'action une fois que tous les uploads sont terminés
if ($successCount > 0) {
logAdminAction(
$_SESSION['admin_id'],
'UPLOAD_PRIVATE_IMAGES', // Notez le changement ici pour les images privées
"Téléversement de $successCount image(s) privée(s)", // Message adapté pour les images privées
$currentPath
);
}
if ($successCount > 0) { if ($successCount > 0) {
$_SESSION['success_message'] = "$successCount image(s) téléversée(s) avec succès."; $_SESSION['success_message'] = "$successCount image(s) téléversée(s) avec succès.";
} }
@ -97,20 +107,34 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
case 'delete': case 'delete':
$images = $_POST['images'] ?? []; $images = $_POST['images'] ?? [];
$deleteCount = 0; $deleteCount = 0; // Initialiser le compteur
$errors = [];
foreach ($images as $image) { foreach ($images as $image) {
$imagePath = $currentPath . '/' . basename($image); $imagePath = $currentPath . '/' . basename($image);
if (isSecurePrivatePath($imagePath) && file_exists($imagePath)) { if (isSecurePrivatePath($imagePath) && file_exists($imagePath)) { // Notez l'utilisation de isSecurePrivatePath
if (unlink($imagePath)) { if (unlink($imagePath)) {
$deleteCount++; $deleteCount++; // Incrémenter le compteur en cas de succès
} else {
$errors[] = "Erreur lors de la suppression de " . basename($image);
} }
} }
} }
// Loguer l'action une fois que toutes les suppressions sont terminées
if ($deleteCount > 0) { if ($deleteCount > 0) {
logAdminAction(
$_SESSION['admin_id'],
'DELETE_PRIVATE_IMAGES', // Notez le changement ici pour les images privées
"Suppression de $deleteCount image(s) privée(s)", // Message adapté pour les images privées
$currentPath
);
$_SESSION['success_message'] = "$deleteCount image(s) supprimée(s)."; $_SESSION['success_message'] = "$deleteCount image(s) supprimée(s).";
} }
if (!empty($errors)) {
$_SESSION['error_message'] = implode("\n", $errors);
}
break; break;
} }
} }

View File

@ -25,7 +25,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
switch ($_POST['action']) { switch ($_POST['action']) {
case 'upload': case 'upload':
$uploadedFiles = $_FILES['images'] ?? []; $uploadedFiles = $_FILES['images'] ?? [];
$successCount = 0; $successCount = 0; // Initialiser le compteur
$errors = []; $errors = [];
// Gérer les uploads multiples // Gérer les uploads multiples
@ -51,7 +51,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
} }
if (move_uploaded_file($tmpName, $destination)) { if (move_uploaded_file($tmpName, $destination)) {
$successCount++; $successCount++; // Incrémenter le compteur en cas de succès
} else { } else {
$errors[] = "Erreur lors du déplacement de $fileName"; $errors[] = "Erreur lors du déplacement de $fileName";
} }
@ -61,6 +61,16 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
} }
} }
// Loguer l'action une fois que tous les uploads sont terminés
if ($successCount > 0) {
logAdminAction(
$_SESSION['admin_id'],
'UPLOAD_IMAGES',
"Téléversement de $successCount image(s)",
$currentPath
);
}
if ($successCount > 0) { if ($successCount > 0) {
$_SESSION['success_message'] = "$successCount image(s) téléversée(s) avec succès."; $_SESSION['success_message'] = "$successCount image(s) téléversée(s) avec succès.";
} }
@ -95,28 +105,49 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
} }
break; break;
case 'delete': case 'delete':
$images = $_POST['images'] ?? []; $images = $_POST['images'] ?? [];
$deleteCount = 0; $deleteCount = 0; // Initialiser le compteur
$errors = [];
foreach ($images as $image) { foreach ($images as $image) {
$imagePath = $currentPath . '/' . basename($image); $imagePath = $currentPath . '/' . basename($image);
if (isSecurePath($imagePath) && file_exists($imagePath)) { if (isSecurePath($imagePath) && file_exists($imagePath)) {
if (unlink($imagePath)) { if (unlink($imagePath)) {
$deleteCount++; $deleteCount++; // Incrémenter le compteur en cas de succès
} else {
$errors[] = "Erreur lors de la suppression de " . basename($image);
}
}
} }
}
}
if ($deleteCount > 0) { // Loguer l'action une fois que toutes les suppressions sont terminées
$_SESSION['success_message'] = "$deleteCount image(s) supprimée(s)."; if ($deleteCount > 0) {
} logAdminAction(
break; $_SESSION['admin_id'],
'DELETE_IMAGES',
"Suppression de $deleteCount image(s)",
$currentPath
);
$_SESSION['success_message'] = "$deleteCount image(s) supprimée(s).";
}
if (!empty($errors)) {
$_SESSION['error_message'] = implode("\n", $errors);
}
break;
case 'move': case 'move':
$images = $_POST['images'] ?? []; $images = $_POST['images'] ?? [];
$destinationPath = $_POST['destination_path'] ?? ''; $destinationPath = $_POST['destination_path'] ?? '';
$moveCount = 0; if ($moveCount > 0) {
logAdminAction(
$_SESSION['admin_id'],
'MOVE_IMAGES',
"Déplacement de $moveCount image(s) vers " . basename($_POST['destination_path']),
$currentPath . ' -> ' . $_POST['destination_path']
);
}
$errors = []; $errors = [];
// Vérifier que le dossier de destination existe et est valide // Vérifier que le dossier de destination existe et est valide

View File

@ -24,6 +24,12 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['action']) && $_POST['
if ($shareKey) { if ($shareKey) {
$shareUrl = getBaseUrl() . '/galeries-privees.php?key=' . urlencode($shareKey); $shareUrl = getBaseUrl() . '/galeries-privees.php?key=' . urlencode($shareKey);
logAdminAction(
$_SESSION['admin_id'],
'GENERATE_SHARE_LINK',
"Création d'un lien de partage valide " . $duration . " heures",
$albumPath
);
$_SESSION['success_message'] = "Lien de partage généré avec succès. URL : " . $shareUrl; $_SESSION['success_message'] = "Lien de partage généré avec succès. URL : " . $shareUrl;
$_SESSION['share_url'] = $shareUrl; $_SESSION['share_url'] = $shareUrl;
} else { } else {
@ -60,6 +66,12 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
} else { } else {
$_SESSION['error_message'] = "Ce dossier existe déjà."; $_SESSION['error_message'] = "Ce dossier existe déjà.";
} }
logAdminAction(
$_SESSION['admin_id'],
'CREATE_PRIVATE_FOLDER',
"Création du dossier privé : " . $newName,
$newPath
);
} }
break; break;
@ -73,6 +85,12 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
} else { } else {
$_SESSION['error_message'] = "Erreur lors de la modification du dossier."; $_SESSION['error_message'] = "Erreur lors de la modification du dossier.";
} }
logAdminAction(
$_SESSION['admin_id'],
'EDIT_PRIVATE_FOLDER',
"Modification du dossier privé : " . $newName,
$path
);
} }
break; break;
@ -93,6 +111,12 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
rmdir($dir); rmdir($dir);
} }
} }
logAdminAction(
$_SESSION['admin_id'],
'DELETE_PRIVATE_FOLDER',
"Suppression du dossier privé",
$path
);
rrmdir($path); rrmdir($path);
$_SESSION['success_message'] = "Dossier privé supprimé avec succès."; $_SESSION['success_message'] = "Dossier privé supprimé avec succès.";
} }

View File

@ -28,6 +28,12 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
} else { } else {
$_SESSION['error_message'] = "Ce dossier existe déjà."; $_SESSION['error_message'] = "Ce dossier existe déjà.";
} }
logAdminAction(
$_SESSION['admin_id'],
'CREATE_FOLDER',
"Création du dossier : " . $newName,
$newPath
);
} }
break; break;
@ -41,6 +47,12 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
} else { } else {
$_SESSION['error_message'] = "Erreur lors de la modification du dossier."; $_SESSION['error_message'] = "Erreur lors de la modification du dossier.";
} }
logAdminAction(
$_SESSION['admin_id'],
'EDIT_FOLDER',
"Modification du dossier : " . $newName,
$path
);
} }
break; break;
@ -61,6 +73,12 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
rmdir($dir); rmdir($dir);
} }
} }
logAdminAction(
$_SESSION['admin_id'],
'DELETE_FOLDER',
"Suppression du dossier",
$path
);
rrmdir($path); rrmdir($path);
$_SESSION['success_message'] = "Dossier supprimé avec succès."; $_SESSION['success_message'] = "Dossier supprimé avec succès.";
} }

View File

@ -34,6 +34,12 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
if ($stmt->execute()) { if ($stmt->execute()) {
$successMessage = "Clé supprimée avec succès."; $successMessage = "Clé supprimée avec succès.";
logAdminAction(
$_SESSION['admin_id'],
'DELETE_SHARE_KEY',
"Suppression d'une clé de partage",
"ID: " . $keyId
);
} else { } else {
$errorMessage = "Erreur lors de la suppression de la clé."; $errorMessage = "Erreur lors de la suppression de la clé.";
} }
@ -44,6 +50,11 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$deletedCount = cleanExpiredShareKeys(); $deletedCount = cleanExpiredShareKeys();
if ($deletedCount > 0) { if ($deletedCount > 0) {
$successMessage = "$deletedCount clé(s) expirée(s) supprimée(s)."; $successMessage = "$deletedCount clé(s) expirée(s) supprimée(s).";
logAdminAction(
$_SESSION['admin_id'],
'CLEAN_EXPIRED_KEYS',
"Nettoyage de $deletedCount clé(s) de partage expirée(s)"
);
} else { } else {
$successMessage = "Aucune clé expirée à supprimer."; $successMessage = "Aucune clé expirée à supprimer.";
} }

View File

@ -23,6 +23,11 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
if (file_put_contents('./config.txt', $configContent) !== false) { if (file_put_contents('./config.txt', $configContent) !== false) {
$_SESSION['success_message'] = "Configuration mise à jour avec succès."; $_SESSION['success_message'] = "Configuration mise à jour avec succès.";
logAdminAction(
$_SESSION['admin_id'],
'UPDATE_SETTINGS',
"Modification des paramètres du site"
);
} else { } else {
$_SESSION['error_message'] = "Erreur lors de la sauvegarde de la configuration."; $_SESSION['error_message'] = "Erreur lors de la sauvegarde de la configuration.";
} }

View File

@ -83,6 +83,11 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
if ($stmt->execute()) { if ($stmt->execute()) {
$_SESSION['success_message'] = "Utilisateur ajouté avec succès."; $_SESSION['success_message'] = "Utilisateur ajouté avec succès.";
logAdminAction(
$_SESSION['admin_id'],
'ADD_USER',
"Création du compte administrateur : " . $username
);
} else { } else {
$_SESSION['error_message'] = "Erreur lors de l'ajout de l'utilisateur."; $_SESSION['error_message'] = "Erreur lors de l'ajout de l'utilisateur.";
} }
@ -93,6 +98,14 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$username = $_POST['username'] ?? ''; $username = $_POST['username'] ?? '';
$password = $_POST['password'] ?? ''; $password = $_POST['password'] ?? '';
if ($stmt->execute()) {
logAdminAction(
$_SESSION['admin_id'],
'EDIT_USER',
"Modification du compte administrateur : " . $username
);
}
if (empty($userId) || empty($username)) { if (empty($userId) || empty($username)) {
$_SESSION['error_message'] = "Des informations sont manquantes."; $_SESSION['error_message'] = "Des informations sont manquantes.";
break; break;
@ -150,6 +163,12 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
if ($stmt->execute()) { if ($stmt->execute()) {
$_SESSION['success_message'] = "Utilisateur supprimé avec succès."; $_SESSION['success_message'] = "Utilisateur supprimé avec succès.";
logAdminAction(
$_SESSION['admin_id'],
'DELETE_USER',
"Suppression d'un compte administrateur",
"ID: " . $userId
);
} else { } else {
$_SESSION['error_message'] = "Erreur lors de la suppression de l'utilisateur."; $_SESSION['error_message'] = "Erreur lors de la suppression de l'utilisateur.";
} }