Backup #1728

ID1728
Dateipfad/var/www/dev.campus.systemische-tools.de/src/View/semantic-explorer/taxonomie/edit.php
Version1
Typ modified
Größe3.0 KB
Hash926c29fd00ff75e752349ac8519f3a09372978a5ff839d806c00b1930ea25bc6
Datum2025-12-27 12:35:56
Geändert vonclaude-code-hook
GrundClaude Code Pre-Hook Backup vor Write-Operation
Datei existiert Ja

Dateiinhalt

<?php ob_start(); ?>

<nav class="breadcrumb">
    <a href="/semantic-explorer">Semantic Explorer</a> &raquo;
    <a href="/semantic-explorer/taxonomie">Taxonomie</a> &raquo; <?= htmlspecialchars($term['name']) ?> &raquo; Bearbeiten
</nav>

<h1>Taxonomie-Begriff bearbeiten</h1>

<form id="taxonomy-form" class="form" style="max-width: 600px;">
    <div class="form-group">
        <label for="name">Name *</label>
        <input type="text" id="name" name="name" class="form-input" required
               value="<?= htmlspecialchars($term['name']) ?>">
    </div>

    <div class="form-group">
        <label for="parent_id">Uebergeordneter Begriff</label>
        <select id="parent_id" name="parent_id" class="form-select">
            <option value="">-- Kein (Root-Element) --</option>
            <?php foreach ($terms as $t): ?>
            <?php if ($t['id'] !== $term['id']): ?>
            <option value="<?= $t['id'] ?>"
                <?= ($term['parent_id'] ?? '') == $t['id'] ? 'selected' : '' ?>>
                <?= str_repeat('&nbsp;&nbsp;', $t['depth']) ?><?= htmlspecialchars($t['name']) ?>
            </option>
            <?php endif; ?>
            <?php endforeach; ?>
        </select>
    </div>

    <div class="form-actions">
        <button type="submit" class="btn btn--primary">Speichern</button>
        <a href="/semantic-explorer/taxonomie" class="btn">Abbrechen</a>
        <button type="button" id="delete-btn" class="btn btn--danger" style="margin-left: auto;">Loeschen</button>
    </div>
</form>
<div id="form-message" class="form-message"></div>

<script>
document.getElementById('taxonomy-form').addEventListener('submit', async (e) => {
    e.preventDefault();
    const form = e.target;
    const formData = new FormData(form);
    const data = Object.fromEntries(formData.entries());
    if (data.parent_id === '') data.parent_id = null;

    const response = await fetch('/semantic-explorer/taxonomie/<?= $term['id'] ?>', {
        method: 'POST',
        headers: {'Content-Type': 'application/json'},
        body: JSON.stringify(data)
    });
    const result = await response.json();

    if (result.success) {
        window.location.href = '/semantic-explorer/taxonomie';
    } else {
        document.getElementById('form-message').innerHTML =
            '<span class="form-message--error">Fehler: ' + result.error + '</span>';
    }
});

document.getElementById('delete-btn').addEventListener('click', async () => {
    if (!confirm('Begriff wirklich loeschen? Untergeordnete Begriffe muessen zuerst geloescht werden.')) return;

    const response = await fetch('/semantic-explorer/taxonomie/<?= $term['id'] ?>/delete', {
        method: 'POST'
    });
    const result = await response.json();

    if (result.success) {
        window.location.href = '/semantic-explorer/taxonomie';
    } else {
        document.getElementById('form-message').innerHTML =
            '<span class="form-message--error">Fehler: ' + result.error + '</span>';
    }
});
</script>

<?php $content = ob_get_clean(); ?>
<?php require VIEW_PATH . '/layout.php'; ?>

Vollständig herunterladen

Aktionen

Herunterladen

← Zurück zur Übersicht