Files
netwatch/app/modules/connections/delete.php

66 lines
1.7 KiB
PHP

<?php
/**
* app/modules/connections/delete.php
*
* Loescht eine Verbindung (AJAX-POST bevorzugt, GET-Fallback fuer Redirects).
*/
$isPost = ($_SERVER['REQUEST_METHOD'] ?? '') === 'POST';
$connectionId = (int)($_POST['id'] ?? $_GET['id'] ?? 0);
if ($connectionId <= 0) {
if ($isPost) {
header('Content-Type: application/json; charset=utf-8');
http_response_code(400);
echo json_encode(['success' => false, 'message' => 'Ungueltige Verbindungs-ID']);
exit;
}
$_SESSION['error'] = 'Ungueltige Verbindungs-ID';
header('Location: ?module=connections&action=list');
exit;
}
$connection = $sql->single(
"SELECT id FROM connections WHERE id = ?",
"i",
[$connectionId]
);
if (!$connection) {
if ($isPost) {
header('Content-Type: application/json; charset=utf-8');
http_response_code(404);
echo json_encode(['success' => false, 'message' => 'Verbindung nicht gefunden']);
exit;
}
$_SESSION['error'] = 'Verbindung nicht gefunden';
header('Location: ?module=connections&action=list');
exit;
}
$rows = $sql->set(
"DELETE FROM connections WHERE id = ?",
"i",
[$connectionId]
);
if ($isPost) {
header('Content-Type: application/json; charset=utf-8');
if ($rows > 0) {
echo json_encode(['success' => true, 'message' => 'Verbindung geloescht']);
} else {
http_response_code(500);
echo json_encode(['success' => false, 'message' => 'Verbindung konnte nicht geloescht werden']);
}
exit;
}
if ($rows > 0) {
$_SESSION['success'] = 'Verbindung geloescht';
} else {
$_SESSION['error'] = 'Verbindung konnte nicht geloescht werden';
}
header('Location: ?module=connections&action=list');
exit;