{
"event": "PreToolUse",
"tool_name": "Edit",
"tool_input": {
"file_path": "\/var\/www\/dev.campus.systemische-tools.de\/src\/View\/contracts\/show.php",
"old_string": "<h2>Aktionen<\/h2>\n<div class=\"action-bar\">\n <a href=\"\/contracts\/<?= $contract['id'] ?>\/edit\" class=\"btn btn--primary\">Bearbeiten<\/a>\n <form method=\"post\" action=\"\/contracts\/<?= $contract['id'] ?>\/validate\" style=\"display:inline;\">\n <?= $csrfField ?>\n <button type=\"submit\" class=\"btn\">Validieren<\/button>\n <\/form>\n <?php if ($contract['status'] !== 'deprecated'): ?>\n <form method=\"post\" action=\"\/contracts\/<?= $contract['id'] ?>\/deprecate\" style=\"display:inline;\">\n <?= $csrfField ?>\n <button type=\"submit\" class=\"btn btn--danger\" onclick=\"return confirm('Contract wirklich als deprecated markieren?')\">Deprecate<\/button>\n <\/form>\n <?php endif; ?>\n<\/div>",
"new_string": "<h2>Aktionen<\/h2>\n<div class=\"action-bar\">\n <a href=\"\/contracts\/<?= $contract['id'] ?>\/edit\" class=\"btn btn--primary\">Bearbeiten<\/a>\n <button type=\"button\" class=\"btn\"\n hx-post=\"\/contracts\/<?= $contract['id'] ?>\/validate\"\n hx-headers='{\"X-CSRF-TOKEN\": \"<?= $csrfToken ?>\"}'\n hx-target=\"#validation-result\"\n hx-swap=\"innerHTML\"\n hx-disabled-elt=\"this\">\n Validieren\n <\/button>\n <?php if ($contract['status'] !== 'deprecated'): ?>\n <button type=\"button\" class=\"btn btn--danger\"\n hx-post=\"\/contracts\/<?= $contract['id'] ?>\/deprecate\"\n hx-headers='{\"X-CSRF-TOKEN\": \"<?= $csrfToken ?>\"}'\n hx-confirm=\"Contract wirklich als deprecated markieren?\"\n hx-disabled-elt=\"this\">\n Deprecate\n <\/button>\n <?php endif; ?>\n<\/div>\n<div id=\"validation-result\"><\/div>"
}
}
{
"tool_response": {
"filePath": "\/var\/www\/dev.campus.systemische-tools.de\/src\/View\/contracts\/show.php",
"oldString": "<h2>Aktionen<\/h2>\n<div class=\"action-bar\">\n <a href=\"\/contracts\/<?= $contract['id'] ?>\/edit\" class=\"btn btn--primary\">Bearbeiten<\/a>\n <form method=\"post\" action=\"\/contracts\/<?= $contract['id'] ?>\/validate\" style=\"display:inline;\">\n <?= $csrfField ?>\n <button type=\"submit\" class=\"btn\">Validieren<\/button>\n <\/form>\n <?php if ($contract['status'] !== 'deprecated'): ?>\n <form method=\"post\" action=\"\/contracts\/<?= $contract['id'] ?>\/deprecate\" style=\"display:inline;\">\n <?= $csrfField ?>\n <button type=\"submit\" class=\"btn btn--danger\" onclick=\"return confirm('Contract wirklich als deprecated markieren?')\">Deprecate<\/button>\n <\/form>\n <?php endif; ?>\n<\/div>",
"newString": "<h2>Aktionen<\/h2>\n<div class=\"action-bar\">\n <a href=\"\/contracts\/<?= $contract['id'] ?>\/edit\" class=\"btn btn--primary\">Bearbeiten<\/a>\n <button type=\"button\" class=\"btn\"\n hx-post=\"\/contracts\/<?= $contract['id'] ?>\/validate\"\n hx-headers='{\"X-CSRF-TOKEN\": \"<?= $csrfToken ?>\"}'\n hx-target=\"#validation-result\"\n hx-swap=\"innerHTML\"\n hx-disabled-elt=\"this\">\n Validieren\n <\/button>\n <?php if ($contract['status'] !== 'deprecated'): ?>\n <button type=\"button\" class=\"btn btn--danger\"\n hx-post=\"\/contracts\/<?= $contract['id'] ?>\/deprecate\"\n hx-headers='{\"X-CSRF-TOKEN\": \"<?= $csrfToken ?>\"}'\n hx-confirm=\"Contract wirklich als deprecated markieren?\"\n hx-disabled-elt=\"this\">\n Deprecate\n <\/button>\n <?php endif; ?>\n<\/div>\n<div id=\"validation-result\"><\/div>",
"originalFile": "<?php ob_start(); ?>\n\n<nav class=\"breadcrumb\">\n <a href=\"\/contracts\">Contracts<\/a> » <?= htmlspecialchars($contract['name']) ?>\n<\/nav>\n\n<h1><?= htmlspecialchars($contract['name']) ?><\/h1>\n\n<?php if (isset($_SESSION['success'])): ?>\n<div class=\"alert alert--success\"><?= htmlspecialchars($_SESSION['success']) ?><\/div>\n<?php unset($_SESSION['success']); ?>\n<?php endif; ?>\n\n<?php if (isset($_SESSION['validation_result'])): ?>\n<?php $vr = $_SESSION['validation_result']; ?>\n<div class=\"alert alert--<?= $vr['result'] === 'passed' ? 'success' : 'error' ?>\">\n Validierung: <strong><?= $vr['result'] ?><\/strong>\n (Critical: <?= $vr['critical'] ?>, Major: <?= $vr['major'] ?>, Minor: <?= $vr['minor'] ?>)\n<\/div>\n<?php unset($_SESSION['validation_result']); ?>\n<?php endif; ?>\n\n<table>\n <tr>\n <th>ID<\/th>\n <td><?= $contract['id'] ?><\/td>\n <\/tr>\n <tr>\n <th>UUID<\/th>\n <td><code><?= $contract['uuid'] ?><\/code><\/td>\n <\/tr>\n <tr>\n <th>Version<\/th>\n <td><strong><?= htmlspecialchars($contract['version']) ?><\/strong><\/td>\n <\/tr>\n <tr>\n <th>Status<\/th>\n <td><span class=\"badge badge--<?= $contract['status'] ?>\"><?= $contract['status'] ?><\/span><\/td>\n <\/tr>\n <tr>\n <th>Scope<\/th>\n <td><?= htmlspecialchars($contract['scope_description'] ?? '-') ?><\/td>\n <\/tr>\n <tr>\n <th>Erstellt<\/th>\n <td><?= $contract['created_at'] ?> von <?= htmlspecialchars($contract['created_by']) ?><\/td>\n <\/tr>\n <tr>\n <th>Aktualisiert<\/th>\n <td><?= $contract['updated_at'] ?><\/td>\n <\/tr>\n<\/table>\n\n<h2>YAML-Inhalt<\/h2>\n<pre><code><?= htmlspecialchars($contract['yaml_content']) ?><\/code><\/pre>\n\n<h2>Aktionen<\/h2>\n<div class=\"action-bar\">\n <a href=\"\/contracts\/<?= $contract['id'] ?>\/edit\" class=\"btn btn--primary\">Bearbeiten<\/a>\n <form method=\"post\" action=\"\/contracts\/<?= $contract['id'] ?>\/validate\" style=\"display:inline;\">\n <?= $csrfField ?>\n <button type=\"submit\" class=\"btn\">Validieren<\/button>\n <\/form>\n <?php if ($contract['status'] !== 'deprecated'): ?>\n <form method=\"post\" action=\"\/contracts\/<?= $contract['id'] ?>\/deprecate\" style=\"display:inline;\">\n <?= $csrfField ?>\n <button type=\"submit\" class=\"btn btn--danger\" onclick=\"return confirm('Contract wirklich als deprecated markieren?')\">Deprecate<\/button>\n <\/form>\n <?php endif; ?>\n<\/div>\n\n<?php if (!empty($history)): ?>\n<h2>Versionshistorie<\/h2>\n<table>\n <thead>\n <tr>\n <th>Version<\/th>\n <th>Geändert am<\/th>\n <th>Von<\/th>\n <th>Beschreibung<\/th>\n <\/tr>\n <\/thead>\n <tbody>\n <tr>\n <td><strong><?= htmlspecialchars($contract['version']) ?><\/strong> (aktuell)<\/td>\n <td><?= $contract['updated_at'] ?><\/td>\n <td>-<\/td>\n <td>-<\/td>\n <\/tr>\n <?php foreach ($history as $h): ?>\n <tr>\n <td><?= htmlspecialchars($h['previous_version']) ?><\/td>\n <td><?= $h['changed_at'] ?><\/td>\n <td><?= htmlspecialchars($h['changed_by']) ?><\/td>\n <td><?= htmlspecialchars($h['change_description'] ?? '-') ?><\/td>\n <\/tr>\n <?php endforeach; ?>\n <\/tbody>\n<\/table>\n<?php endif; ?>\n\n<?php if (!empty($validations)): ?>\n<h2>Letzte Validierungen<\/h2>\n<table>\n <thead>\n <tr>\n <th>Datum<\/th>\n <th>Ergebnis<\/th>\n <th>Critical<\/th>\n <th>Major<\/th>\n <th>Minor<\/th>\n <th>Dauer<\/th>\n <\/tr>\n <\/thead>\n <tbody>\n <?php foreach ($validations as $v): ?>\n <tr>\n <td><?= $v['validated_at'] ?><\/td>\n <td><span class=\"badge badge--<?= $v['result'] === 'passed' ? 'success' : 'failed' ?>\"><?= $v['result'] ?><\/span><\/td>\n <td><?= $v['critical_count'] ?><\/td>\n <td><?= $v['major_count'] ?><\/td>\n <td><?= $v['minor_count'] ?><\/td>\n <td><?= $v['duration_ms'] ?>ms<\/td>\n <\/tr>\n <?php endforeach; ?>\n <\/tbody>\n<\/table>\n<?php endif; ?>\n\n<p style=\"margin-top: 2rem;\">\n <a href=\"\/contracts\">← Zurück zur Übersicht<\/a>\n<\/p>\n\n<?php $content = ob_get_clean(); ?>\n<?php require VIEW_PATH . '\/layout.php'; ?>\n",
"structuredPatch": [
{
"oldStart": 57,
"oldLines": 17,
"newStart": 57,
"newLines": 25,
"lines": [
" <h2>Aktionen<\/h2>",
" <div class=\"action-bar\">",
" <a href=\"\/contracts\/<?= $contract['id'] ?>\/edit\" class=\"btn btn--primary\">Bearbeiten<\/a>",
"- <form method=\"post\" action=\"\/contracts\/<?= $contract['id'] ?>\/validate\" style=\"display:inline;\">",
"- <?= $csrfField ?>",
"- <button type=\"submit\" class=\"btn\">Validieren<\/button>",
"- <\/form>",
"+ <button type=\"button\" class=\"btn\"",
"+ hx-post=\"\/contracts\/<?= $contract['id'] ?>\/validate\"",
"+ hx-headers='{\"X-CSRF-TOKEN\": \"<?= $csrfToken ?>\"}'",
"+ hx-target=\"#validation-result\"",
"+ hx-swap=\"innerHTML\"",
"+ hx-disabled-elt=\"this\">",
"+ Validieren",
"+ <\/button>",
" <?php if ($contract['status'] !== 'deprecated'): ?>",
"- <form method=\"post\" action=\"\/contracts\/<?= $contract['id'] ?>\/deprecate\" style=\"display:inline;\">",
"- <?= $csrfField ?>",
"- <button type=\"submit\" class=\"btn btn--danger\" onclick=\"return confirm('Contract wirklich als deprecated markieren?')\">Deprecate<\/button>",
"- <\/form>",
"+ <button type=\"button\" class=\"btn btn--danger\"",
"+ hx-post=\"\/contracts\/<?= $contract['id'] ?>\/deprecate\"",
"+ hx-headers='{\"X-CSRF-TOKEN\": \"<?= $csrfToken ?>\"}'",
"+ hx-confirm=\"Contract wirklich als deprecated markieren?\"",
"+ hx-disabled-elt=\"this\">",
"+ Deprecate",
"+ <\/button>",
" <?php endif; ?>",
" <\/div>",
"+<div id=\"validation-result\"><\/div>",
" ",
" <?php if (!empty($history)): ?>",
" <h2>Versionshistorie<\/h2>"
]
}
],
"userModified": false,
"replaceAll": false
}
}