<?php
$api_customer = '12345';
$api_password = 'RESELLER-API-PASSWORT';

$domain = trim($_POST['domain'] ?? '');
$result = null;
$error = null;

if ($_SERVER['REQUEST_METHOD'] === 'POST' && $domain !== '') {

    $url = 'https://api.variomedia.de/domain-availability/'
        . rawurlencode($domain);

    $ch = curl_init($url);

    curl_setopt_array($ch, [
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_USERPWD => $api_customer . ':' . $api_password,
        CURLOPT_HTTPHEADER => [
            'Accept: application/vnd.variomedia.v1+json'
        ]
    ]);

    $json = curl_exec($ch);
    $http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);

    if ($json === false) {

        $error = 'Fehler beim API-Aufruf: ' . curl_error($ch);

    } elseif ($http_code !== 200) {

        $error = 'Die API antwortete mit HTTP-Status ' . $http_code . '.';

    } else {

        $response = json_decode($json, true);

        if (isset($response['data'][0]['attributes'])) {
            $result = $response['data'][0]['attributes'];
        } else {
            $error = 'Die Antwort der API konnte nicht ausgewertet werden.';
        }
    }

    curl_close($ch);
}

?>
<!doctype html>
<html lang="de">
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">

    <title>Domaincheck</title>

    <link
            href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.8/dist/css/bootstrap.min.css"
            rel="stylesheet"
    >
</head>

<body>

<div class="container py-5">

    <div class="col-lg-6 mx-auto">

        <h1 class="mb-4">Domaincheck</h1>

        <form method="post" class="mb-4">

            <div class="mb-3">

                <label for="domain" class="form-label">
                    Domain
                </label>

                <input
                        type="text"
                        class="form-control"
                        id="domain"
                        name="domain"
                        value="<?= htmlspecialchars($domain, ENT_QUOTES, 'UTF-8') ?>"
                        placeholder="example.de"
                        required
                >

                <div class="form-text">
                    Geben Sie die vollständige Domain ein,
                    z.B. example.de, example.com oder example.net.
                </div>

            </div>

            <button type="submit" class="btn btn-primary">
                Domain prüfen
            </button>

        </form>


        <?php if ($error): ?>

            <div class="alert alert-danger">
                <?= htmlspecialchars($error, ENT_QUOTES, 'UTF-8') ?>
            </div>

        <?php endif; ?>


        <?php if ($result): ?>

            <h2 class="h4">
                <?= htmlspecialchars($result['name'], ENT_QUOTES, 'UTF-8') ?>
            </h2>

            <?php if ($result['available'] === true): ?>

                <div class="alert alert-success">
                    Die Domain ist verfügbar.
                </div>

            <?php elseif ($result['available'] === false): ?>

                <div class="alert alert-secondary">
                    Die Domain ist bereits vergeben.
                </div>

            <?php else: ?>

                <div class="alert alert-warning">

                    Die Verfügbarkeit konnte nicht ermittelt werden.

                    <?php if (!empty($result['error'])): ?>

                        <br>
                        <?= htmlspecialchars(
                            $result['error'],
                            ENT_QUOTES,
                            'UTF-8'
                        ) ?>

                    <?php endif; ?>

                </div>

            <?php endif; ?>

        <?php endif; ?>

    </div>

</div>

</body>
</html>