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']) {
case 'upload':
$uploadedFiles = $_FILES['images'] ?? [];
$successCount = 0;
$successCount = 0; // Initialiser le compteur
$errors = [];
// Gérer les uploads multiples
@ -51,7 +51,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
}
if (move_uploaded_file($tmpName, $destination)) {
$successCount++;
$successCount++; // Incrémenter le compteur en cas de succès
} else {
$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) {
$_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':
$images = $_POST['images'] ?? [];
$deleteCount = 0;
$deleteCount = 0; // Initialiser le compteur
$errors = [];
foreach ($images as $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)) {
$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) {
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).";
}
if (!empty($errors)) {
$_SESSION['error_message'] = implode("\n", $errors);
}
break;
}
}

View File

@ -25,7 +25,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
switch ($_POST['action']) {
case 'upload':
$uploadedFiles = $_FILES['images'] ?? [];
$successCount = 0;
$successCount = 0; // Initialiser le compteur
$errors = [];
// Gérer les uploads multiples
@ -51,7 +51,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
}
if (move_uploaded_file($tmpName, $destination)) {
$successCount++;
$successCount++; // Incrémenter le compteur en cas de succès
} else {
$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) {
$_SESSION['success_message'] = "$successCount image(s) téléversée(s) avec succès.";
}
@ -97,26 +107,47 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
case 'delete':
$images = $_POST['images'] ?? [];
$deleteCount = 0;
$deleteCount = 0; // Initialiser le compteur
$errors = [];
foreach ($images as $image) {
$imagePath = $currentPath . '/' . basename($image);
if (isSecurePath($imagePath) && file_exists($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) {
logAdminAction(
$_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':
$images = $_POST['images'] ?? [];
$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 = [];
// 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) {
$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['share_url'] = $shareUrl;
} else {
@ -60,6 +66,12 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
} else {
$_SESSION['error_message'] = "Ce dossier existe déjà.";
}
logAdminAction(
$_SESSION['admin_id'],
'CREATE_PRIVATE_FOLDER',
"Création du dossier privé : " . $newName,
$newPath
);
}
break;
@ -73,6 +85,12 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
} else {
$_SESSION['error_message'] = "Erreur lors de la modification du dossier.";
}
logAdminAction(
$_SESSION['admin_id'],
'EDIT_PRIVATE_FOLDER',
"Modification du dossier privé : " . $newName,
$path
);
}
break;
@ -93,6 +111,12 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
rmdir($dir);
}
}
logAdminAction(
$_SESSION['admin_id'],
'DELETE_PRIVATE_FOLDER',
"Suppression du dossier privé",
$path
);
rrmdir($path);
$_SESSION['success_message'] = "Dossier privé supprimé avec succès.";
}

View File

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

View File

@ -34,6 +34,12 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
if ($stmt->execute()) {
$successMessage = "Clé supprimée avec succès.";
logAdminAction(
$_SESSION['admin_id'],
'DELETE_SHARE_KEY',
"Suppression d'une clé de partage",
"ID: " . $keyId
);
} else {
$errorMessage = "Erreur lors de la suppression de la clé.";
}
@ -44,6 +50,11 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$deletedCount = cleanExpiredShareKeys();
if ($deletedCount > 0) {
$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 {
$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) {
$_SESSION['success_message'] = "Configuration mise à jour avec succès.";
logAdminAction(
$_SESSION['admin_id'],
'UPDATE_SETTINGS',
"Modification des paramètres du site"
);
} else {
$_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()) {
$_SESSION['success_message'] = "Utilisateur ajouté avec succès.";
logAdminAction(
$_SESSION['admin_id'],
'ADD_USER',
"Création du compte administrateur : " . $username
);
} else {
$_SESSION['error_message'] = "Erreur lors de l'ajout de l'utilisateur.";
}
@ -93,6 +98,14 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$username = $_POST['username'] ?? '';
$password = $_POST['password'] ?? '';
if ($stmt->execute()) {
logAdminAction(
$_SESSION['admin_id'],
'EDIT_USER',
"Modification du compte administrateur : " . $username
);
}
if (empty($userId) || empty($username)) {
$_SESSION['error_message'] = "Des informations sont manquantes.";
break;
@ -150,6 +163,12 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
if ($stmt->execute()) {
$_SESSION['success_message'] = "Utilisateur supprimé avec succès.";
logAdminAction(
$_SESSION['admin_id'],
'DELETE_USER',
"Suppression d'un compte administrateur",
"ID: " . $userId
);
} else {
$_SESSION['error_message'] = "Erreur lors de la suppression de l'utilisateur.";
}