Backup #47

ID47
Dateipfad/var/www/dev.campus.systemische-tools.de/src/View/backup-restore/index.php
Version1
Typ modified
Größe3.2 KB
Hash8198efaa5169cf2ade711036d5447743bcbd706d93c7a5488c7a365c871d80cd
Datum2025-12-20 17:45:14
Geändert vonclaude-code-hook
GrundClaude Code Pre-Hook Backup vor Edit-Operation
Datei existiert Ja

Dateiinhalt

<?php ob_start(); ?>

<h1>File Backup</h1>

<div class="stats-grid">
    <div class="stat-card">
        <span class="stat-card__value"><?= $stats['total'] ?? 0 ?></span>
        <span class="stat-card__label">Backups</span>
    </div>
    <div class="stat-card stat-card--info">
        <span class="stat-card__value"><?= $stats['files'] ?? 0 ?></span>
        <span class="stat-card__label">Dateien</span>
    </div>
    <div class="stat-card stat-card--warning">
        <span class="stat-card__value"><?= $stats['modified'] ?? 0 ?></span>
        <span class="stat-card__label">Geändert</span>
    </div>
    <div class="stat-card stat-card--success">
        <span class="stat-card__value"><?= $stats['recent'] ?? 0 ?></span>
        <span class="stat-card__label">Letzte 24h</span>
    </div>
</div>

<h2>Backup-Historie</h2>
<div class="filters">
    <input type="search" id="backup-search" class="form-input" placeholder="Dateipfad durchsuchen...">
    <select id="filter-change-type" class="form-select--inline">
        <option value="">Alle Typen</option>
        <option value="created">Erstellt</option>
        <option value="modified">Geändert</option>
    </select>
</div>

<table id="backup-table" data-sortable>
    <thead>
        <tr>
            <th data-sort="id">ID</th>
            <th data-sort="file_path">Dateipfad</th>
            <th data-sort="version">Version</th>
            <th data-sort="change_type">Typ</th>
            <th data-sort="file_size">Größe</th>
            <th data-sort="changed_at">Datum</th>
        </tr>
    </thead>
    <tbody>
        <?php if (!empty($backups)): ?>
        <?php foreach ($backups as $backup): ?>
        <tr>
            <td><a href="/backup-restore/<?= $backup['id'] ?>"><?= $backup['id'] ?></a></td>
            <td title="<?= htmlspecialchars($backup['file_path']) ?>">
                <a href="/backup-restore/<?= $backup['id'] ?>"><?= htmlspecialchars($this->shortenPath($backup['file_path'])) ?></a>
            </td>
            <td><?= $backup['version'] ?></td>
            <td><span class="badge badge--<?= $backup['change_type'] ?>"><?= $backup['change_type'] ?></span></td>
            <td><?= $this->formatBytes($backup['file_size']) ?></td>
            <td><?= substr($backup['changed_at'], 0, 16) ?></td>
        </tr>
        <?php endforeach; ?>
        <?php else: ?>
        <tr><td colspan="6" class="empty-state empty-state--small">Keine Backups vorhanden</td></tr>
        <?php endif; ?>
    </tbody>
</table>

<p class="links-bar">
    <a href="/docs/modul/file-backup-hook">Dokumentation</a>
</p>

<script type="module">
import { init } from '/js/components/data-table.js';

const dataTable = init({
    clock: { now_epoch_ms_utc: () => Date.now() },
    logger: console,
    ui: {
        showMessage: (msg) => { console.log(msg.type + ': ' + msg.text); },
        disableFeature: (key) => { console.warn('Feature disabled: ' + key); },
        offerRetry: () => Promise.resolve(false)
    },
    runId: crypto.randomUUID()
});

dataTable.create('backup-table', {
    searchInput: 'backup-search',
    pageSize: 20,
    filters: {
        'filter-change-type': 3
    }
});
</script>

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

Vollständig herunterladen

Aktionen

Herunterladen

Andere Versionen dieser Datei

ID Version Typ Größe Datum
48 2 modified 3.9 KB 2025-12-20 17:45
47 1 modified 3.2 KB 2025-12-20 17:45

← Zurück zur Übersicht