show.php
- Pfad:
src/View/backup-restore/show.php - Namespace: -
- Zeilen: 121 | Größe: 4,131 Bytes
- Geändert: 2025-12-27 14:07:38 | Gescannt: 2025-12-31 10:22:15
Code Hygiene Score: 100
- Dependencies: 100 (25%)
- LOC: 100 (20%)
- Methods: 100 (20%)
- Secrets: 100 (15%)
- Classes: 100 (10%)
- Magic Numbers: 100 (10%)
Keine Issues gefunden.
Versionen 3
-
v3
2025-12-27 14:07 | claude-code-hook | modified
Claude Code Pre-Hook Backup vor Edit-Operation -
v2
2025-12-27 12:54 | claude-code-hook | modified
Claude Code Pre-Hook Backup vor Edit-Operation -
v1
2025-12-20 19:16 | claude-code-hook | modified
Claude Code Pre-Hook Backup vor Edit-Operation
Code
<?php
ob_start();
// Helper function
$formatBytes = function (int $bytes): string {
if ($bytes >= 1048576) {
return number_format($bytes / 1048576, 1) . ' MB';
}
if ($bytes >= 1024) {
return number_format($bytes / 1024, 1) . ' KB';
}
return $bytes . ' B';
};
// Check for messages (passed from controller)
$restored = $restored ?? false;
$error = $error ?? null;
?>
<nav class="breadcrumb">
<a href="/backup-restore">File Backup</a> » Backup #<?= $backup['id'] ?>
</nav>
<h1>Backup #<?= $backup['id'] ?></h1>
<?php if ($restored): ?>
<div class="alert alert--success">
Datei wurde erfolgreich wiederhergestellt.
</div>
<?php endif; ?>
<?php if ($error): ?>
<div class="alert alert--error">
Fehler: <?= htmlspecialchars($error) ?>
</div>
<?php endif; ?>
<table>
<tr><th>ID</th><td><?= $backup['id'] ?></td></tr>
<tr><th>Dateipfad</th><td><code><?= htmlspecialchars($backup['file_path']) ?></code></td></tr>
<tr><th>Version</th><td><?= $backup['version'] ?></td></tr>
<tr>
<th>Typ</th>
<td><span class="badge badge--<?= $backup['change_type'] ?>"><?= $backup['change_type'] ?></span></td>
</tr>
<tr><th>Größe</th><td><?= $formatBytes($backup['file_size']) ?></td></tr>
<tr><th>Hash</th><td><code><?= htmlspecialchars($backup['content_hash']) ?></code></td></tr>
<tr><th>Datum</th><td><?= $backup['changed_at'] ?></td></tr>
<tr><th>Geändert von</th><td><?= htmlspecialchars($backup['changed_by']) ?></td></tr>
<tr><th>Grund</th><td><?= htmlspecialchars($backup['reason']) ?></td></tr>
<tr>
<th>Datei existiert</th>
<td>
<?php if ($fileExists): ?>
<span class="badge badge--completed">Ja</span>
<?php else: ?>
<span class="badge badge--failed">Nein</span>
<?php endif; ?>
</td>
</tr>
</table>
<?php if (!empty($backup['diff_summary'])): ?>
<h2>Diff-Zusammenfassung</h2>
<pre><code><?= htmlspecialchars($backup['diff_summary']) ?></code></pre>
<?php endif; ?>
<h2>Dateiinhalt</h2>
<?php if ($contentPreview): ?>
<pre><code><?= htmlspecialchars($contentPreview) ?></code></pre>
<p>
<a href="/backup-restore/<?= $backup['id'] ?>/download" class="btn btn--light">Vollständig herunterladen</a>
</p>
<?php else: ?>
<p class="empty-state empty-state--small">Kein Inhalt vorhanden.</p>
<?php endif; ?>
<h2>Aktionen</h2>
<div class="action-bar">
<button type="button" class="btn btn--primary"
hx-post="/backup-restore/<?= $backup['id'] ?>/restore"
hx-headers='{"X-CSRF-TOKEN": "<?= $csrfToken ?>"}'
hx-confirm="Datei wirklich wiederherstellen? Dies ueberschreibt den aktuellen Inhalt von: <?= htmlspecialchars($backup['file_path']) ?>"
hx-disabled-elt="this">
Wiederherstellen
</button>
<a href="/backup-restore/<?= $backup['id'] ?>/download" class="btn">Herunterladen</a>
</div>
<?php if (count($versions) > 1): ?>
<h2>Andere Versionen dieser Datei</h2>
<table data-sortable>
<thead>
<tr>
<th data-sort="id">ID</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 foreach ($versions as $version): ?>
<tr<?= $version['id'] == $backup['id'] ? ' class="highlight"' : '' ?>>
<td><a href="/backup-restore/<?= $version['id'] ?>"><?= $version['id'] ?></a></td>
<td><?= $version['version'] ?></td>
<td><span class="badge badge--<?= $version['change_type'] ?>"><?= $version['change_type'] ?></span></td>
<td><?= $formatBytes($version['file_size']) ?></td>
<td><?= substr($version['changed_at'], 0, 16) ?></td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
<?php endif; ?>
<p style="margin-top: 2rem;"><a href="/backup-restore">← Zurück zur Übersicht</a></p>
<?php $content = ob_get_clean(); ?>
<?php require VIEW_PATH . '/layout.php'; ?>