$id > 0); if (empty($ids)) { $_SESSION['error'] = "Aucun TFE sélectionné."; header('Location: /admin/'); exit; } $db->bulkSetVisibility($ids, $accessTypeId); $_SESSION['success'] = count($ids) . " TFE(s) mis à jour."; } else { $thesisId = filter_var($_POST['thesis_id'] ?? '', FILTER_VALIDATE_INT); if (!$thesisId) { $_SESSION['error'] = "ID invalide."; header('Location: /admin/'); exit; } $db->setVisibility($thesisId, $accessTypeId); $_SESSION['success'] = "Visibilité mise à jour."; } } catch (Exception $e) { error_log("visibility.php error: " . $e->getMessage()); $_SESSION['error'] = "Erreur : " . $e->getMessage(); } $_SESSION['csrf_token'] = bin2hex(random_bytes(32)); header('Location: /admin/'); exit;