load(); header('Content-Type: application/json'); // Authentication check if (!isLoggedIn()) { http_response_code(401); echo json_encode(['success' => false, 'error' => 'Niet geautoriseerd. Log eerst in.']); exit; } // Authorization check - admin only if (!canDelete()) { http_response_code(403); echo json_encode(['success' => false, 'error' => 'Geen toegang. Alleen admins kunnen uitzendingen verwijderen.']); exit; } try { $db = getDbConnection(); // Get POST data $input = json_decode(file_get_contents('php://input'), true); if (!$input) { $input = $_POST; } // Validate required fields if (empty($input['id'])) { jsonResponse([ 'success' => false, 'error' => 'Missing transmission ID' ], 400); } // Check if transmission exists and get talpa_transmission_id $stmt = $db->prepare("SELECT id, talpa_transmission_id FROM transmissions WHERE id = ?"); $stmt->execute([$input['id']]); $transmission = $stmt->fetch(PDO::FETCH_ASSOC); if (!$transmission) { jsonResponse([ 'success' => false, 'error' => 'Transmission not found' ], 404); } // Delete from Talpa API if talpa_transmission_id exists if (!empty($transmission['talpa_transmission_id'])) { try { $talpaApi = new TalpaApi(); $talpaResponse = $talpaApi->deleteTransmission($transmission['talpa_transmission_id']); // Log the Talpa API response error_log("Talpa API delete response: " . json_encode($talpaResponse)); } catch (Exception $e) { // Log error but continue with local deletion error_log("Failed to delete transmission from Talpa API: " . $e->getMessage()); } } // Delete transmission from local database $stmt = $db->prepare("DELETE FROM transmissions WHERE id = ?"); $stmt->execute([$input['id']]); jsonResponse([ 'success' => true, 'message' => 'Transmission deleted successfully' ]); } catch (Exception $e) { jsonResponse([ 'success' => false, 'error' => $e->getMessage() ], 500); }