Protokoll #11863

ID11863
Zeitstempel2025-12-23 21:55:23.931628
Clientroot
IP145.224.96.190
Modellclaude-sonnet-4-20250514
Statuscompleted
Tokens11,392 (Input: 1,674, Output: 9,718)
Dauer99 ms
Request-Zeit2025-12-23 21:55:23.931628
Response-Zeit2025-12-23 21:55:24.031087

Request

{
    "event": "PreToolUse",
    "tool_name": "Write",
    "tool_input": {
        "file_path": "\/var\/www\/dev.campus.systemische-tools.de\/src\/View\/docs\/code-show.php",
        "content": "<?php\n\ndeclare(strict_types=1);\n\n\/\/ @responsibility: View für Code-Analyse-Detailansicht (KISS)\n\nob_start();\n$shortPath = str_replace('\/var\/www\/dev.campus.systemische-tools.de\/', '', $file['file_path']);\n$qualityGrade = $file['quality_grade'] ?? null;\n$qualityIssues = json_decode($file['issues_json'] ?? '[]', true) ?: [];\n$gradeClass = match ($qualityGrade) {\n    'A' => 'badge--success',\n    'B' => 'badge--info',\n    'C' => 'badge--warning',\n    'D', 'F' => 'badge--danger',\n    default => 'badge--secondary',\n};\n?>\n\n<nav class=\"breadcrumb\">\n    <a href=\"\/docs\/code\">Code-Analyse<\/a> &raquo;\n    <span><?= htmlspecialchars($file['file_name']) ?><\/span>\n<\/nav>\n\n<h1><?= htmlspecialchars($file['file_name']) ?><\/h1>\n\n<?php if ($file['parse_error']): ?>\n<div class=\"alert alert--danger\" style=\"margin-bottom: 1rem;\">\n    <strong>Parse-Fehler:<\/strong> <?= htmlspecialchars($file['parse_error']) ?>\n<\/div>\n<?php endif; ?>\n\n<ul style=\"list-style: none; padding: 0; margin: 0 0 1.5rem 0; font-size: 0.9rem;\">\n    <li><strong>Pfad:<\/strong> <code><?= htmlspecialchars($shortPath) ?><\/code><\/li>\n    <li><strong>Namespace:<\/strong> <?= htmlspecialchars($file['namespace'] ?? '-') ?><\/li>\n    <li><strong>Zeilen:<\/strong> <?= number_format($file['line_count']) ?> | <strong>Größe:<\/strong> <?= number_format($file['file_size']) ?> Bytes<\/li>\n    <li><strong>Geändert:<\/strong> <?= htmlspecialchars($file['modified_at']) ?> | <strong>Gescannt:<\/strong> <?= htmlspecialchars($file['scanned_at']) ?><\/li>\n<\/ul>\n\n<?php if ($qualityGrade): ?>\n<h2>Code Quality <span class=\"badge <?= $gradeClass ?>\"><?= $qualityGrade ?><\/span><\/h2>\n<ul style=\"list-style: none; padding: 0; margin: 0 0 1.5rem 0; font-size: 0.9rem;\">\n    <li><strong>Complexity Score:<\/strong> <?= $file['complexity_score'] ?? 0 ?><\/li>\n    <li><strong>LOC Score:<\/strong> <?= $file['loc_score'] ?? 0 ?><\/li>\n    <li><strong>Dependency Score:<\/strong> <?= $file['dependency_score'] ?? 0 ?><\/li>\n    <li><strong>Hardcoded:<\/strong> <?= $file['hardcoded_count'] ?? 0 ?><\/li>\n<\/ul>\n\n<?php if (!empty($qualityIssues)): ?>\n<h3>Issues <span class=\"badge badge--danger\"><?= count($qualityIssues) ?><\/span><\/h3>\n<table class=\"data-table\">\n    <thead>\n        <tr>\n            <th>Zeile<\/th>\n            <th>Typ<\/th>\n            <th>Beschreibung<\/th>\n        <\/tr>\n    <\/thead>\n    <tbody>\n        <?php foreach ($qualityIssues as $issue): ?>\n        <tr>\n            <td><?= $issue['line'] ?? '-' ?><\/td>\n            <td><span class=\"badge badge--warning\"><?= htmlspecialchars($issue['type'] ?? '') ?><\/span><\/td>\n            <td><?= htmlspecialchars($issue['message'] ?? '') ?><\/td>\n        <\/tr>\n        <?php endforeach; ?>\n    <\/tbody>\n<\/table>\n<?php else: ?>\n<p style=\"color: var(--color-success);\">Keine Issues gefunden.<\/p>\n<?php endif; ?>\n<?php endif; ?>\n\n<?php\n$totalDeps = count($uses) + ($extendsClass ? 1 : 0) + count($implements) + count($traits) + count($constructorDeps);\n?>\n<?php if ($totalDeps > 0): ?>\n<h2>Dependencies <span class=\"badge badge--info\"><?= $totalDeps ?><\/span><\/h2>\n<ul style=\"list-style: none; padding: 0; margin: 0 0 1.5rem 0; font-size: 0.9rem; font-family: monospace;\">\n    <?php if ($extendsClass): ?>\n    <li><span class=\"badge badge--warning\">extends<\/span> <?= htmlspecialchars($extendsClass) ?><\/li>\n    <?php endif; ?>\n    <?php foreach ($implements as $iface): ?>\n    <li><span class=\"badge badge--info\">implements<\/span> <?= htmlspecialchars($iface) ?><\/li>\n    <?php endforeach; ?>\n    <?php foreach ($traits as $trait): ?>\n    <li><span class=\"badge badge--success\">trait<\/span> <?= htmlspecialchars($trait) ?><\/li>\n    <?php endforeach; ?>\n    <?php foreach ($constructorDeps as $dep): ?>\n    <li><span class=\"badge badge--primary\">constructor<\/span> <?= htmlspecialchars($dep) ?><\/li>\n    <?php endforeach; ?>\n    <?php foreach ($uses as $use): ?>\n    <li><span class=\"badge\">use<\/span> <?= htmlspecialchars($use) ?><\/li>\n    <?php endforeach; ?>\n<\/ul>\n<?php endif; ?>\n\n<?php if (!empty($classes)): ?>\n<h2>Klassen <span class=\"badge badge--info\"><?= count($classes) ?><\/span><\/h2>\n<ul style=\"list-style: none; padding: 0; margin: 0 0 1.5rem 0; font-size: 0.9rem;\">\n    <?php foreach ($classes as $class): ?>\n    <li>\n        <code><?= htmlspecialchars($class['name']) ?><\/code>\n        <span class=\"badge badge--<?= $class['type'] === 'interface' ? 'warning' : ($class['type'] === 'trait' ? 'info' : 'default') ?>\"><?= $class['type'] ?><\/span>\n        <small style=\"color: var(--text-muted);\">Zeile <?= $class['line'] ?><\/small>\n    <\/li>\n    <?php endforeach; ?>\n<\/ul>\n<?php endif; ?>\n\n<?php if (!empty($functions)): ?>\n<h2>Funktionen <span class=\"badge badge--success\"><?= count($functions) ?><\/span><\/h2>\n<ul style=\"list-style: none; padding: 0; margin: 0 0 1.5rem 0; font-size: 0.9rem;\">\n    <?php foreach ($functions as $func): ?>\n    <li>\n        <code><?= htmlspecialchars($func['name']) ?>()<\/code>\n        <?php if ($func['visibility']): ?>\n        <span class=\"badge badge--<?= $func['visibility'] === 'private' ? 'danger' : ($func['visibility'] === 'protected' ? 'warning' : 'success') ?>\"><?= $func['visibility'] ?><\/span>\n        <?php endif; ?>\n        <small style=\"color: var(--text-muted);\">Zeile <?= $func['line'] ?><\/small>\n    <\/li>\n    <?php endforeach; ?>\n<\/ul>\n<?php endif; ?>\n\n<?php if (!empty($dependents)): ?>\n<h2>Verwendet von <span class=\"badge badge--warning\"><?= count($dependents) ?><\/span><\/h2>\n<ul style=\"list-style: none; padding: 0; margin: 0 0 1.5rem 0; font-size: 0.9rem;\">\n    <?php foreach ($dependents as $dep): ?>\n    <li>\n        <a href=\"\/docs\/code\/<?= $dep['id'] ?>\"><?= htmlspecialchars($dep['file_name']) ?><\/a>\n        <span class=\"badge badge--<?= match($dep['dependency_type']) {\n            'extends' => 'warning',\n            'implements' => 'info',\n            'constructor' => 'primary',\n            default => 'default'\n        } ?>\"><?= $dep['dependency_type'] ?><\/span>\n    <\/li>\n    <?php endforeach; ?>\n<\/ul>\n<?php endif; ?>\n\n<div style=\"margin-top: 2rem;\">\n    <a href=\"\/docs\/code\" class=\"btn btn--secondary\">&larr; Übersicht<\/a>\n    <?php if (!empty($classes)): ?>\n    <a href=\"\/docs\/code\/<?= $file['id'] ?>\/graph\" class=\"btn btn--primary\">Graph<\/a>\n    <?php endif; ?>\n<\/div>\n\n<?php $content = ob_get_clean(); ?>\n<?php require VIEW_PATH . '\/layout.php'; ?>\n"
    }
}

Response

{
    "tool_response": {
        "type": "update",
        "filePath": "\/var\/www\/dev.campus.systemische-tools.de\/src\/View\/docs\/code-show.php",
        "content": "<?php\n\ndeclare(strict_types=1);\n\n\/\/ @responsibility: View für Code-Analyse-Detailansicht (KISS)\n\nob_start();\n$shortPath = str_replace('\/var\/www\/dev.campus.systemische-tools.de\/', '', $file['file_path']);\n$qualityGrade = $file['quality_grade'] ?? null;\n$qualityIssues = json_decode($file['issues_json'] ?? '[]', true) ?: [];\n$gradeClass = match ($qualityGrade) {\n    'A' => 'badge--success',\n    'B' => 'badge--info',\n    'C' => 'badge--warning',\n    'D', 'F' => 'badge--danger',\n    default => 'badge--secondary',\n};\n?>\n\n<nav class=\"breadcrumb\">\n    <a href=\"\/docs\/code\">Code-Analyse<\/a> &raquo;\n    <span><?= htmlspecialchars($file['file_name']) ?><\/span>\n<\/nav>\n\n<h1><?= htmlspecialchars($file['file_name']) ?><\/h1>\n\n<?php if ($file['parse_error']): ?>\n<div class=\"alert alert--danger\" style=\"margin-bottom: 1rem;\">\n    <strong>Parse-Fehler:<\/strong> <?= htmlspecialchars($file['parse_error']) ?>\n<\/div>\n<?php endif; ?>\n\n<ul style=\"list-style: none; padding: 0; margin: 0 0 1.5rem 0; font-size: 0.9rem;\">\n    <li><strong>Pfad:<\/strong> <code><?= htmlspecialchars($shortPath) ?><\/code><\/li>\n    <li><strong>Namespace:<\/strong> <?= htmlspecialchars($file['namespace'] ?? '-') ?><\/li>\n    <li><strong>Zeilen:<\/strong> <?= number_format($file['line_count']) ?> | <strong>Größe:<\/strong> <?= number_format($file['file_size']) ?> Bytes<\/li>\n    <li><strong>Geändert:<\/strong> <?= htmlspecialchars($file['modified_at']) ?> | <strong>Gescannt:<\/strong> <?= htmlspecialchars($file['scanned_at']) ?><\/li>\n<\/ul>\n\n<?php if ($qualityGrade): ?>\n<h2>Code Quality <span class=\"badge <?= $gradeClass ?>\"><?= $qualityGrade ?><\/span><\/h2>\n<ul style=\"list-style: none; padding: 0; margin: 0 0 1.5rem 0; font-size: 0.9rem;\">\n    <li><strong>Complexity Score:<\/strong> <?= $file['complexity_score'] ?? 0 ?><\/li>\n    <li><strong>LOC Score:<\/strong> <?= $file['loc_score'] ?? 0 ?><\/li>\n    <li><strong>Dependency Score:<\/strong> <?= $file['dependency_score'] ?? 0 ?><\/li>\n    <li><strong>Hardcoded:<\/strong> <?= $file['hardcoded_count'] ?? 0 ?><\/li>\n<\/ul>\n\n<?php if (!empty($qualityIssues)): ?>\n<h3>Issues <span class=\"badge badge--danger\"><?= count($qualityIssues) ?><\/span><\/h3>\n<table class=\"data-table\">\n    <thead>\n        <tr>\n            <th>Zeile<\/th>\n            <th>Typ<\/th>\n            <th>Beschreibung<\/th>\n        <\/tr>\n    <\/thead>\n    <tbody>\n        <?php foreach ($qualityIssues as $issue): ?>\n        <tr>\n            <td><?= $issue['line'] ?? '-' ?><\/td>\n            <td><span class=\"badge badge--warning\"><?= htmlspecialchars($issue['type'] ?? '') ?><\/span><\/td>\n            <td><?= htmlspecialchars($issue['message'] ?? '') ?><\/td>\n        <\/tr>\n        <?php endforeach; ?>\n    <\/tbody>\n<\/table>\n<?php else: ?>\n<p style=\"color: var(--color-success);\">Keine Issues gefunden.<\/p>\n<?php endif; ?>\n<?php endif; ?>\n\n<?php\n$totalDeps = count($uses) + ($extendsClass ? 1 : 0) + count($implements) + count($traits) + count($constructorDeps);\n?>\n<?php if ($totalDeps > 0): ?>\n<h2>Dependencies <span class=\"badge badge--info\"><?= $totalDeps ?><\/span><\/h2>\n<ul style=\"list-style: none; padding: 0; margin: 0 0 1.5rem 0; font-size: 0.9rem; font-family: monospace;\">\n    <?php if ($extendsClass): ?>\n    <li><span class=\"badge badge--warning\">extends<\/span> <?= htmlspecialchars($extendsClass) ?><\/li>\n    <?php endif; ?>\n    <?php foreach ($implements as $iface): ?>\n    <li><span class=\"badge badge--info\">implements<\/span> <?= htmlspecialchars($iface) ?><\/li>\n    <?php endforeach; ?>\n    <?php foreach ($traits as $trait): ?>\n    <li><span class=\"badge badge--success\">trait<\/span> <?= htmlspecialchars($trait) ?><\/li>\n    <?php endforeach; ?>\n    <?php foreach ($constructorDeps as $dep): ?>\n    <li><span class=\"badge badge--primary\">constructor<\/span> <?= htmlspecialchars($dep) ?><\/li>\n    <?php endforeach; ?>\n    <?php foreach ($uses as $use): ?>\n    <li><span class=\"badge\">use<\/span> <?= htmlspecialchars($use) ?><\/li>\n    <?php endforeach; ?>\n<\/ul>\n<?php endif; ?>\n\n<?php if (!empty($classes)): ?>\n<h2>Klassen <span class=\"badge badge--info\"><?= count($classes) ?><\/span><\/h2>\n<ul style=\"list-style: none; padding: 0; margin: 0 0 1.5rem 0; font-size: 0.9rem;\">\n    <?php foreach ($classes as $class): ?>\n    <li>\n        <code><?= htmlspecialchars($class['name']) ?><\/code>\n        <span class=\"badge badge--<?= $class['type'] === 'interface' ? 'warning' : ($class['type'] === 'trait' ? 'info' : 'default') ?>\"><?= $class['type'] ?><\/span>\n        <small style=\"color: var(--text-muted);\">Zeile <?= $class['line'] ?><\/small>\n    <\/li>\n    <?php endforeach; ?>\n<\/ul>\n<?php endif; ?>\n\n<?php if (!empty($functions)): ?>\n<h2>Funktionen <span class=\"badge badge--success\"><?= count($functions) ?><\/span><\/h2>\n<ul style=\"list-style: none; padding: 0; margin: 0 0 1.5rem 0; font-size: 0.9rem;\">\n    <?php foreach ($functions as $func): ?>\n    <li>\n        <code><?= htmlspecialchars($func['name']) ?>()<\/code>\n        <?php if ($func['visibility']): ?>\n        <span class=\"badge badge--<?= $func['visibility'] === 'private' ? 'danger' : ($func['visibility'] === 'protected' ? 'warning' : 'success') ?>\"><?= $func['visibility'] ?><\/span>\n        <?php endif; ?>\n        <small style=\"color: var(--text-muted);\">Zeile <?= $func['line'] ?><\/small>\n    <\/li>\n    <?php endforeach; ?>\n<\/ul>\n<?php endif; ?>\n\n<?php if (!empty($dependents)): ?>\n<h2>Verwendet von <span class=\"badge badge--warning\"><?= count($dependents) ?><\/span><\/h2>\n<ul style=\"list-style: none; padding: 0; margin: 0 0 1.5rem 0; font-size: 0.9rem;\">\n    <?php foreach ($dependents as $dep): ?>\n    <li>\n        <a href=\"\/docs\/code\/<?= $dep['id'] ?>\"><?= htmlspecialchars($dep['file_name']) ?><\/a>\n        <span class=\"badge badge--<?= match($dep['dependency_type']) {\n            'extends' => 'warning',\n            'implements' => 'info',\n            'constructor' => 'primary',\n            default => 'default'\n        } ?>\"><?= $dep['dependency_type'] ?><\/span>\n    <\/li>\n    <?php endforeach; ?>\n<\/ul>\n<?php endif; ?>\n\n<div style=\"margin-top: 2rem;\">\n    <a href=\"\/docs\/code\" class=\"btn btn--secondary\">&larr; Übersicht<\/a>\n    <?php if (!empty($classes)): ?>\n    <a href=\"\/docs\/code\/<?= $file['id'] ?>\/graph\" class=\"btn btn--primary\">Graph<\/a>\n    <?php endif; ?>\n<\/div>\n\n<?php $content = ob_get_clean(); ?>\n<?php require VIEW_PATH . '\/layout.php'; ?>\n",
        "structuredPatch": [
            {
                "oldStart": 2,
                "oldLines": 10,
                "newStart": 2,
                "newLines": 19,
                "lines": [
                    " ",
                    " declare(strict_types=1);",
                    " ",
                    "-\/\/ @responsibility: View für Code-Analyse-Detailansicht",
                    "+\/\/ @responsibility: View für Code-Analyse-Detailansicht (KISS)",
                    " ",
                    " ob_start();",
                    " $shortPath = str_replace('\/var\/www\/dev.campus.systemische-tools.de\/', '', $file['file_path']);",
                    "+$qualityGrade = $file['quality_grade'] ?? null;",
                    "+$qualityIssues = json_decode($file['issues_json'] ?? '[]', true) ?: [];",
                    "+$gradeClass = match ($qualityGrade) {",
                    "+    'A' => 'badge--success',",
                    "+    'B' => 'badge--info',",
                    "+    'C' => 'badge--warning',",
                    "+    'D', 'F' => 'badge--danger',",
                    "+    default => 'badge--secondary',",
                    "+};",
                    " ?>",
                    " ",
                    " <nav class=\"breadcrumb\">"
                ]
            },
            {
                "oldStart": 15,
                "oldLines": 305,
                "newStart": 24,
                "newLines": 126,
                "lines": [
                    " ",
                    " <h1><?= htmlspecialchars($file['file_name']) ?><\/h1>",
                    " ",
                    "-<div class=\"file-meta\" style=\"margin-bottom: 1.5rem; padding: 1rem; background: var(--bg-secondary); border-radius: 8px;\">",
                    "-    <dl style=\"display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 1rem; margin: 0;\">",
                    "-        <div>",
                    "-            <dt style=\"font-size: 0.875rem; color: var(--text-muted);\">Pfad<\/dt>",
                    "-            <dd style=\"margin: 0; font-family: monospace; font-size: 0.875rem;\"><?= htmlspecialchars($shortPath) ?><\/dd>",
                    "-        <\/div>",
                    "-        <div>",
                    "-            <dt style=\"font-size: 0.875rem; color: var(--text-muted);\">Namespace<\/dt>",
                    "-            <dd style=\"margin: 0; font-family: monospace;\"><?= htmlspecialchars($file['namespace'] ?? '-') ?><\/dd>",
                    "-        <\/div>",
                    "-        <div>",
                    "-            <dt style=\"font-size: 0.875rem; color: var(--text-muted);\">Zeilen<\/dt>",
                    "-            <dd style=\"margin: 0;\"><?= number_format($file['line_count']) ?><\/dd>",
                    "-        <\/div>",
                    "-        <div>",
                    "-            <dt style=\"font-size: 0.875rem; color: var(--text-muted);\">Dateigröße<\/dt>",
                    "-            <dd style=\"margin: 0;\"><?= number_format($file['file_size']) ?> Bytes<\/dd>",
                    "-        <\/div>",
                    "-        <div>",
                    "-            <dt style=\"font-size: 0.875rem; color: var(--text-muted);\">Geändert<\/dt>",
                    "-            <dd style=\"margin: 0;\"><?= htmlspecialchars($file['modified_at']) ?><\/dd>",
                    "-        <\/div>",
                    "-        <div>",
                    "-            <dt style=\"font-size: 0.875rem; color: var(--text-muted);\">Gescannt<\/dt>",
                    "-            <dd style=\"margin: 0;\"><?= htmlspecialchars($file['scanned_at']) ?><\/dd>",
                    "-        <\/div>",
                    "-    <\/dl>",
                    "-<\/div>",
                    "-",
                    " <?php if ($file['parse_error']): ?>",
                    "-<div class=\"alert alert--danger\" style=\"margin-bottom: 1.5rem;\">",
                    "+<div class=\"alert alert--danger\" style=\"margin-bottom: 1rem;\">",
                    "     <strong>Parse-Fehler:<\/strong> <?= htmlspecialchars($file['parse_error']) ?>",
                    " <\/div>",
                    " <?php endif; ?>",
                    " ",
                    "-<?php",
                    "-\/\/ Quality Data",
                    "-$qualityGrade = $file['quality_grade'] ?? null;",
                    "-$qualityIssues = json_decode($file['issues_json'] ?? '[]', true) ?: [];",
                    "-$gradeClass = match ($qualityGrade) {",
                    "-    'A' => 'badge--success',",
                    "-    'B' => 'badge--info',",
                    "-    'C' => 'badge--warning',",
                    "-    'D', 'F' => 'badge--danger',",
                    "-    default => 'badge--secondary',",
                    "-};",
                    "-?>",
                    "+<ul style=\"list-style: none; padding: 0; margin: 0 0 1.5rem 0; font-size: 0.9rem;\">",
                    "+    <li><strong>Pfad:<\/strong> <code><?= htmlspecialchars($shortPath) ?><\/code><\/li>",
                    "+    <li><strong>Namespace:<\/strong> <?= htmlspecialchars($file['namespace'] ?? '-') ?><\/li>",
                    "+    <li><strong>Zeilen:<\/strong> <?= number_format($file['line_count']) ?> | <strong>Größe:<\/strong> <?= number_format($file['file_size']) ?> Bytes<\/li>",
                    "+    <li><strong>Geändert:<\/strong> <?= htmlspecialchars($file['modified_at']) ?> | <strong>Gescannt:<\/strong> <?= htmlspecialchars($file['scanned_at']) ?><\/li>",
                    "+<\/ul>",
                    "+",
                    " <?php if ($qualityGrade): ?>",
                    "-<div style=\"margin-bottom: 1.5rem;\">",
                    "-    <h2>Code Quality <span class=\"badge <?= $gradeClass ?>\" style=\"font-size: 1.25rem;\"><?= $qualityGrade ?><\/span><\/h2>",
                    "+<h2>Code Quality <span class=\"badge <?= $gradeClass ?>\"><?= $qualityGrade ?><\/span><\/h2>",
                    "+<ul style=\"list-style: none; padding: 0; margin: 0 0 1.5rem 0; font-size: 0.9rem;\">",
                    "+    <li><strong>Complexity Score:<\/strong> <?= $file['complexity_score'] ?? 0 ?><\/li>",
                    "+    <li><strong>LOC Score:<\/strong> <?= $file['loc_score'] ?? 0 ?><\/li>",
                    "+    <li><strong>Dependency Score:<\/strong> <?= $file['dependency_score'] ?? 0 ?><\/li>",
                    "+    <li><strong>Hardcoded:<\/strong> <?= $file['hardcoded_count'] ?? 0 ?><\/li>",
                    "+<\/ul>",
                    " ",
                    "-    <div style=\"display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: 1rem; margin-bottom: 1rem;\">",
                    "-        <div style=\"padding: 0.75rem; background: var(--bg-secondary); border-radius: 6px; text-align: center;\">",
                    "-            <div style=\"font-size: 1.5rem; font-weight: bold; color: var(--color-primary);\"><?= $file['complexity_score'] ?? 0 ?><\/div>",
                    "-            <div style=\"font-size: 0.75rem; color: var(--text-muted);\">Complexity Score<\/div>",
                    "-        <\/div>",
                    "-        <div style=\"padding: 0.75rem; background: var(--bg-secondary); border-radius: 6px; text-align: center;\">",
                    "-            <div style=\"font-size: 1.5rem; font-weight: bold; color: var(--color-info);\"><?= $file['loc_score'] ?? 0 ?><\/div>",
                    "-            <div style=\"font-size: 0.75rem; color: var(--text-muted);\">LOC Score<\/div>",
                    "-        <\/div>",
                    "-        <div style=\"padding: 0.75rem; background: var(--bg-secondary); border-radius: 6px; text-align: center;\">",
                    "-            <div style=\"font-size: 1.5rem; font-weight: bold; color: var(--color-success);\"><?= $file['dependency_score'] ?? 0 ?><\/div>",
                    "-            <div style=\"font-size: 0.75rem; color: var(--text-muted);\">Dependency Score<\/div>",
                    "-        <\/div>",
                    "-        <div style=\"padding: 0.75rem; background: var(--bg-secondary); border-radius: 6px; text-align: center;\">",
                    "-            <div style=\"font-size: 1.5rem; font-weight: bold; color: var(--color-warning);\"><?= $file['hardcoded_count'] ?? 0 ?><\/div>",
                    "-            <div style=\"font-size: 0.75rem; color: var(--text-muted);\">Hardcoded<\/div>",
                    "-        <\/div>",
                    "-    <\/div>",
                    "-",
                    "-    <?php if (!empty($qualityIssues)): ?>",
                    "-    <div style=\"background: var(--bg-secondary); border-radius: 8px; padding: 1rem;\">",
                    "-        <h3 style=\"margin-top: 0; font-size: 1rem;\">",
                    "-            Issues <span class=\"badge badge--danger\"><?= count($qualityIssues) ?><\/span>",
                    "-        <\/h3>",
                    "-        <table class=\"data-table\" style=\"margin: 0;\">",
                    "-            <thead>",
                    "-                <tr>",
                    "-                    <th style=\"width: 80px;\">Zeile<\/th>",
                    "-                    <th style=\"width: 120px;\">Typ<\/th>",
                    "-                    <th style=\"width: 100px;\">Severity<\/th>",
                    "-                    <th>Beschreibung<\/th>",
                    "-                <\/tr>",
                    "-            <\/thead>",
                    "-            <tbody>",
                    "-                <?php foreach ($qualityIssues as $issue): ?>",
                    "-                <tr>",
                    "-                    <td style=\"font-family: monospace;\"><?= $issue['line'] ?? '-' ?><\/td>",
                    "-                    <td>",
                    "-                        <span class=\"badge badge--<?= match($issue['type'] ?? '') {",
                    "-                            'hardcoded' => 'warning',",
                    "-                            'complexity' => 'info',",
                    "-                            'srp' => 'primary',",
                    "-                            'coupling' => 'danger',",
                    "-                            default => 'secondary'",
                    "-                        } ?>\">",
                    "-                            <?= htmlspecialchars($issue['type'] ?? 'unknown') ?>",
                    "-                        <\/span>",
                    "-                    <\/td>",
                    "-                    <td>",
                    "-                        <span class=\"badge badge--<?= match($issue['severity'] ?? '') {",
                    "-                            'error' => 'danger',",
                    "-                            'warning' => 'warning',",
                    "-                            'info' => 'info',",
                    "-                            default => 'secondary'",
                    "-                        } ?>\">",
                    "-                            <?= htmlspecialchars($issue['severity'] ?? 'info') ?>",
                    "-                        <\/span>",
                    "-                    <\/td>",
                    "-                    <td style=\"font-size: 0.875rem;\"><?= htmlspecialchars($issue['message'] ?? '') ?><\/td>",
                    "-                <\/tr>",
                    "-                <?php endforeach; ?>",
                    "-            <\/tbody>",
                    "-        <\/table>",
                    "-    <\/div>",
                    "-    <?php else: ?>",
                    "-    <div style=\"padding: 1rem; background: var(--bg-success); border-radius: 8px; color: var(--color-success);\">",
                    "-        Keine Issues gefunden - Code ist sauber!",
                    "-    <\/div>",
                    "-    <?php endif; ?>",
                    "-<\/div>",
                    "+<?php if (!empty($qualityIssues)): ?>",
                    "+<h3>Issues <span class=\"badge badge--danger\"><?= count($qualityIssues) ?><\/span><\/h3>",
                    "+<table class=\"data-table\">",
                    "+    <thead>",
                    "+        <tr>",
                    "+            <th>Zeile<\/th>",
                    "+            <th>Typ<\/th>",
                    "+            <th>Beschreibung<\/th>",
                    "+        <\/tr>",
                    "+    <\/thead>",
                    "+    <tbody>",
                    "+        <?php foreach ($qualityIssues as $issue): ?>",
                    "+        <tr>",
                    "+            <td><?= $issue['line'] ?? '-' ?><\/td>",
                    "+            <td><span class=\"badge badge--warning\"><?= htmlspecialchars($issue['type'] ?? '') ?><\/span><\/td>",
                    "+            <td><?= htmlspecialchars($issue['message'] ?? '') ?><\/td>",
                    "+        <\/tr>",
                    "+        <?php endforeach; ?>",
                    "+    <\/tbody>",
                    "+<\/table>",
                    "+<?php else: ?>",
                    "+<p style=\"color: var(--color-success);\">Keine Issues gefunden.<\/p>",
                    " <?php endif; ?>",
                    "+<?php endif; ?>",
                    " ",
                    " <?php",
                    " $totalDeps = count($uses) + ($extendsClass ? 1 : 0) + count($implements) + count($traits) + count($constructorDeps);",
                    " ?>",
                    " <?php if ($totalDeps > 0): ?>",
                    "-<div style=\"margin-bottom: 1.5rem;\">",
                    "-    <h2>Dependencies <span class=\"badge badge--info\"><?= $totalDeps ?><\/span><\/h2>",
                    "-    <div style=\"display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 1rem;\">",
                    "-        <?php if ($extendsClass): ?>",
                    "-        <div style=\"padding: 0.75rem; background: var(--bg-secondary); border-radius: 6px; border-left: 3px solid var(--color-warning);\">",
                    "-            <strong style=\"font-size: 0.75rem; color: var(--text-muted); text-transform: uppercase;\">Extends<\/strong>",
                    "-            <div style=\"font-family: monospace; font-size: 0.875rem; margin-top: 0.25rem;\"><?= htmlspecialchars($extendsClass) ?><\/div>",
                    "-        <\/div>",
                    "-        <?php endif; ?>",
                    "-",
                    "-        <?php if (!empty($implements)): ?>",
                    "-        <div style=\"padding: 0.75rem; background: var(--bg-secondary); border-radius: 6px; border-left: 3px solid var(--color-info);\">",
                    "-            <strong style=\"font-size: 0.75rem; color: var(--text-muted); text-transform: uppercase;\">Implements (<?= count($implements) ?>)<\/strong>",
                    "-            <div style=\"font-family: monospace; font-size: 0.875rem; margin-top: 0.25rem;\">",
                    "-                <?php foreach ($implements as $iface): ?>",
                    "-                <div><?= htmlspecialchars($iface) ?><\/div>",
                    "-                <?php endforeach; ?>",
                    "-            <\/div>",
                    "-        <\/div>",
                    "-        <?php endif; ?>",
                    "-",
                    "-        <?php if (!empty($traits)): ?>",
                    "-        <div style=\"padding: 0.75rem; background: var(--bg-secondary); border-radius: 6px; border-left: 3px solid var(--color-success);\">",
                    "-            <strong style=\"font-size: 0.75rem; color: var(--text-muted); text-transform: uppercase;\">Traits (<?= count($traits) ?>)<\/strong>",
                    "-            <div style=\"font-family: monospace; font-size: 0.875rem; margin-top: 0.25rem;\">",
                    "-                <?php foreach ($traits as $trait): ?>",
                    "-                <div><?= htmlspecialchars($trait) ?><\/div>",
                    "-                <?php endforeach; ?>",
                    "-            <\/div>",
                    "-        <\/div>",
                    "-        <?php endif; ?>",
                    "-",
                    "-        <?php if (!empty($constructorDeps)): ?>",
                    "-        <div style=\"padding: 0.75rem; background: var(--bg-secondary); border-radius: 6px; border-left: 3px solid var(--color-primary);\">",
                    "-            <strong style=\"font-size: 0.75rem; color: var(--text-muted); text-transform: uppercase;\">Constructor DI (<?= count($constructorDeps) ?>)<\/strong>",
                    "-            <div style=\"font-family: monospace; font-size: 0.875rem; margin-top: 0.25rem;\">",
                    "-                <?php foreach ($constructorDeps as $dep): ?>",
                    "-                <div><?= htmlspecialchars($dep) ?><\/div>",
                    "-                <?php endforeach; ?>",
                    "-            <\/div>",
                    "-        <\/div>",
                    "-        <?php endif; ?>",
                    "-    <\/div>",
                    "-",
                    "-    <?php if (!empty($uses)): ?>",
                    "-    <details style=\"margin-top: 1rem;\">",
                    "-        <summary style=\"cursor: pointer; padding: 0.5rem; background: var(--bg-secondary); border-radius: 6px;\">",
                    "-            <strong>Use-Statements (<?= count($uses) ?>)<\/strong>",
                    "-        <\/summary>",
                    "-        <div style=\"padding: 0.75rem; background: var(--bg-tertiary); border-radius: 0 0 6px 6px; font-family: monospace; font-size: 0.875rem;\">",
                    "-            <?php foreach ($uses as $use): ?>",
                    "-            <div style=\"padding: 0.125rem 0;\"><?= htmlspecialchars($use) ?><\/div>",
                    "-            <?php endforeach; ?>",
                    "-        <\/div>",
                    "-    <\/details>",
                    "+<h2>Dependencies <span class=\"badge badge--info\"><?= $totalDeps ?><\/span><\/h2>",
                    "+<ul style=\"list-style: none; padding: 0; margin: 0 0 1.5rem 0; font-size: 0.9rem; font-family: monospace;\">",
                    "+    <?php if ($extendsClass): ?>",
                    "+    <li><span class=\"badge badge--warning\">extends<\/span> <?= htmlspecialchars($extendsClass) ?><\/li>",
                    "     <?php endif; ?>",
                    "-<\/div>",
                    "+    <?php foreach ($implements as $iface): ?>",
                    "+    <li><span class=\"badge badge--info\">implements<\/span> <?= htmlspecialchars($iface) ?><\/li>",
                    "+    <?php endforeach; ?>",
                    "+    <?php foreach ($traits as $trait): ?>",
                    "+    <li><span class=\"badge badge--success\">trait<\/span> <?= htmlspecialchars($trait) ?><\/li>",
                    "+    <?php endforeach; ?>",
                    "+    <?php foreach ($constructorDeps as $dep): ?>",
                    "+    <li><span class=\"badge badge--primary\">constructor<\/span> <?= htmlspecialchars($dep) ?><\/li>",
                    "+    <?php endforeach; ?>",
                    "+    <?php foreach ($uses as $use): ?>",
                    "+    <li><span class=\"badge\">use<\/span> <?= htmlspecialchars($use) ?><\/li>",
                    "+    <?php endforeach; ?>",
                    "+<\/ul>",
                    " <?php endif; ?>",
                    " ",
                    "-<div style=\"display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 1.5rem;\">",
                    "-    <div>",
                    "-        <h2>Klassen <span class=\"badge badge--info\"><?= count($classes) ?><\/span><\/h2>",
                    "-        <?php if (empty($classes)): ?>",
                    "-        <p style=\"color: var(--text-muted);\">Keine Klassen gefunden.<\/p>",
                    "-        <?php else: ?>",
                    "-        <table class=\"data-table\">",
                    "-            <thead>",
                    "-                <tr>",
                    "-                    <th>Name<\/th>",
                    "-                    <th>Typ<\/th>",
                    "-                    <th style=\"text-align: right;\">Zeile<\/th>",
                    "-                <\/tr>",
                    "-            <\/thead>",
                    "-            <tbody>",
                    "-                <?php foreach ($classes as $class): ?>",
                    "-                <tr>",
                    "-                    <td><code><?= htmlspecialchars($class['name']) ?><\/code><\/td>",
                    "-                    <td>",
                    "-                        <span class=\"badge badge--<?= $class['type'] === 'interface' ? 'warning' : ($class['type'] === 'trait' ? 'info' : 'default') ?>\">",
                    "-                            <?= htmlspecialchars($class['type']) ?>",
                    "-                        <\/span>",
                    "-                    <\/td>",
                    "-                    <td style=\"text-align: right;\"><?= $class['line'] ?><\/td>",
                    "-                <\/tr>",
                    "-                <?php endforeach; ?>",
                    "-            <\/tbody>",
                    "-        <\/table>",
                    "-        <?php endif; ?>",
                    "-    <\/div>",
                    "+<?php if (!empty($classes)): ?>",
                    "+<h2>Klassen <span class=\"badge badge--info\"><?= count($classes) ?><\/span><\/h2>",
                    "+<ul style=\"list-style: none; padding: 0; margin: 0 0 1.5rem 0; font-size: 0.9rem;\">",
                    "+    <?php foreach ($classes as $class): ?>",
                    "+    <li>",
                    "+        <code><?= htmlspecialchars($class['name']) ?><\/code>",
                    "+        <span class=\"badge badge--<?= $class['type'] === 'interface' ? 'warning' : ($class['type'] === 'trait' ? 'info' : 'default') ?>\"><?= $class['type'] ?><\/span>",
                    "+        <small style=\"color: var(--text-muted);\">Zeile <?= $class['line'] ?><\/small>",
                    "+    <\/li>",
                    "+    <?php endforeach; ?>",
                    "+<\/ul>",
                    "+<?php endif; ?>",
                    " ",
                    "-    <div>",
                    "-        <h2>Funktionen <span class=\"badge badge--success\"><?= count($functions) ?><\/span><\/h2>",
                    "-        <?php if (empty($functions)): ?>",
                    "-        <p style=\"color: var(--text-muted);\">Keine Funktionen gefunden.<\/p>",
                    "-        <?php else: ?>",
                    "-        <table class=\"data-table\">",
                    "-            <thead>",
                    "-                <tr>",
                    "-                    <th>Name<\/th>",
                    "-                    <th>Sichtbarkeit<\/th>",
                    "-                    <th style=\"text-align: right;\">Zeile<\/th>",
                    "-                <\/tr>",
                    "-            <\/thead>",
                    "-            <tbody>",
                    "-                <?php foreach ($functions as $func): ?>",
                    "-                <tr>",
                    "-                    <td><code><?= htmlspecialchars($func['name']) ?><\/code><\/td>",
                    "-                    <td>",
                    "-                        <?php if ($func['visibility']): ?>",
                    "-                        <span class=\"badge badge--<?= $func['visibility'] === 'private' ? 'danger' : ($func['visibility'] === 'protected' ? 'warning' : 'success') ?>\">",
                    "-                            <?= htmlspecialchars($func['visibility']) ?>",
                    "-                        <\/span>",
                    "-                        <?php else: ?>",
                    "-                        <span class=\"badge\">global<\/span>",
                    "-                        <?php endif; ?>",
                    "-                    <\/td>",
                    "-                    <td style=\"text-align: right;\"><?= $func['line'] ?><\/td>",
                    "-                <\/tr>",
                    "-                <?php endforeach; ?>",
                    "-            <\/tbody>",
                    "-        <\/table>",
                    "+<?php if (!empty($functions)): ?>",
                    "+<h2>Funktionen <span class=\"badge badge--success\"><?= count($functions) ?><\/span><\/h2>",
                    "+<ul style=\"list-style: none; padding: 0; margin: 0 0 1.5rem 0; font-size: 0.9rem;\">",
                    "+    <?php foreach ($functions as $func): ?>",
                    "+    <li>",
                    "+        <code><?= htmlspecialchars($func['name']) ?>()<\/code>",
                    "+        <?php if ($func['visibility']): ?>",
                    "+        <span class=\"badge badge--<?= $func['visibility'] === 'private' ? 'danger' : ($func['visibility'] === 'protected' ? 'warning' : 'success') ?>\"><?= $func['visibility'] ?><\/span>",
                    "         <?php endif; ?>",
                    "-    <\/div>",
                    "-<\/div>",
                    "+        <small style=\"color: var(--text-muted);\">Zeile <?= $func['line'] ?><\/small>",
                    "+    <\/li>",
                    "+    <?php endforeach; ?>",
                    "+<\/ul>",
                    "+<?php endif; ?>",
                    " ",
                    " <?php if (!empty($dependents)): ?>",
                    "-<div style=\"margin-top: 1.5rem;\">",
                    "-    <h2>Verwendet von <span class=\"badge badge--warning\"><?= count($dependents) ?><\/span><\/h2>",
                    "-    <p style=\"font-size: 0.875rem; color: var(--text-muted); margin-bottom: 1rem;\">",
                    "-        Diese Dateien haben eine Abhängigkeit zu dieser Klasse:",
                    "-    <\/p>",
                    "-    <table class=\"data-table\">",
                    "-        <thead>",
                    "-            <tr>",
                    "-                <th>Datei<\/th>",
                    "-                <th>Namespace<\/th>",
                    "-                <th>Typ<\/th>",
                    "-            <\/tr>",
                    "-        <\/thead>",
                    "-        <tbody>",
                    "-            <?php foreach ($dependents as $dep): ?>",
                    "-            <tr>",
                    "-                <td>",
                    "-                    <a href=\"\/docs\/code\/<?= $dep['id'] ?>\">",
                    "-                        <?= htmlspecialchars($dep['file_name']) ?>",
                    "-                    <\/a>",
                    "-                <\/td>",
                    "-                <td style=\"font-family: monospace; font-size: 0.875rem;\">",
                    "-                    <?= htmlspecialchars($dep['namespace'] ?? '-') ?>",
                    "-                <\/td>",
                    "-                <td>",
                    "-                    <span class=\"badge badge--<?= match($dep['dependency_type']) {",
                    "-                        'extends' => 'warning',",
                    "-                        'implements' => 'info',",
                    "-                        'constructor' => 'primary',",
                    "-                        'trait' => 'success',",
                    "-                        default => 'default'",
                    "-                    } ?>\">",
                    "-                        <?= htmlspecialchars($dep['dependency_type']) ?>",
                    "-                    <\/span>",
                    "-                <\/td>",
                    "-            <\/tr>",
                    "-            <?php endforeach; ?>",
                    "-        <\/tbody>",
                    "-    <\/table>",
                    "-<\/div>",
                    "+<h2>Verwendet von <span class=\"badge badge--warning\"><?= count($dependents) ?><\/span><\/h2>",
                    "+<ul style=\"list-style: none; padding: 0; margin: 0 0 1.5rem 0; font-size: 0.9rem;\">",
                    "+    <?php foreach ($dependents as $dep): ?>",
                    "+    <li>",
                    "+        <a href=\"\/docs\/code\/<?= $dep['id'] ?>\"><?= htmlspecialchars($dep['file_name']) ?><\/a>",
                    "+        <span class=\"badge badge--<?= match($dep['dependency_type']) {",
                    "+            'extends' => 'warning',",
                    "+            'implements' => 'info',",
                    "+            'constructor' => 'primary',",
                    "+            default => 'default'",
                    "+        } ?>\"><?= $dep['dependency_type'] ?><\/span>",
                    "+    <\/li>",
                    "+    <?php endforeach; ?>",
                    "+<\/ul>",
                    " <?php endif; ?>",
                    " ",
                    "-<div style=\"margin-top: 2rem; display: flex; gap: 1rem;\">",
                    "-    <a href=\"\/docs\/code\" class=\"btn btn--secondary\">&larr; Zurück zur Übersicht<\/a>",
                    "+<div style=\"margin-top: 2rem;\">",
                    "+    <a href=\"\/docs\/code\" class=\"btn btn--secondary\">&larr; Übersicht<\/a>",
                    "     <?php if (!empty($classes)): ?>",
                    "-    <a href=\"\/docs\/code\/<?= $file['id'] ?>\/graph\" class=\"btn btn--primary\">Dependency Graph<\/a>",
                    "+    <a href=\"\/docs\/code\/<?= $file['id'] ?>\/graph\" class=\"btn btn--primary\">Graph<\/a>",
                    "     <?php endif; ?>",
                    " <\/div>",
                    " "
                ]
            }
        ],
        "originalFile": "<?php\n\ndeclare(strict_types=1);\n\n\/\/ @responsibility: View für Code-Analyse-Detailansicht\n\nob_start();\n$shortPath = str_replace('\/var\/www\/dev.campus.systemische-tools.de\/', '', $file['file_path']);\n?>\n\n<nav class=\"breadcrumb\">\n    <a href=\"\/docs\/code\">Code-Analyse<\/a> &raquo;\n    <span><?= htmlspecialchars($file['file_name']) ?><\/span>\n<\/nav>\n\n<h1><?= htmlspecialchars($file['file_name']) ?><\/h1>\n\n<div class=\"file-meta\" style=\"margin-bottom: 1.5rem; padding: 1rem; background: var(--bg-secondary); border-radius: 8px;\">\n    <dl style=\"display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 1rem; margin: 0;\">\n        <div>\n            <dt style=\"font-size: 0.875rem; color: var(--text-muted);\">Pfad<\/dt>\n            <dd style=\"margin: 0; font-family: monospace; font-size: 0.875rem;\"><?= htmlspecialchars($shortPath) ?><\/dd>\n        <\/div>\n        <div>\n            <dt style=\"font-size: 0.875rem; color: var(--text-muted);\">Namespace<\/dt>\n            <dd style=\"margin: 0; font-family: monospace;\"><?= htmlspecialchars($file['namespace'] ?? '-') ?><\/dd>\n        <\/div>\n        <div>\n            <dt style=\"font-size: 0.875rem; color: var(--text-muted);\">Zeilen<\/dt>\n            <dd style=\"margin: 0;\"><?= number_format($file['line_count']) ?><\/dd>\n        <\/div>\n        <div>\n            <dt style=\"font-size: 0.875rem; color: var(--text-muted);\">Dateigröße<\/dt>\n            <dd style=\"margin: 0;\"><?= number_format($file['file_size']) ?> Bytes<\/dd>\n        <\/div>\n        <div>\n            <dt style=\"font-size: 0.875rem; color: var(--text-muted);\">Geändert<\/dt>\n            <dd style=\"margin: 0;\"><?= htmlspecialchars($file['modified_at']) ?><\/dd>\n        <\/div>\n        <div>\n            <dt style=\"font-size: 0.875rem; color: var(--text-muted);\">Gescannt<\/dt>\n            <dd style=\"margin: 0;\"><?= htmlspecialchars($file['scanned_at']) ?><\/dd>\n        <\/div>\n    <\/dl>\n<\/div>\n\n<?php if ($file['parse_error']): ?>\n<div class=\"alert alert--danger\" style=\"margin-bottom: 1.5rem;\">\n    <strong>Parse-Fehler:<\/strong> <?= htmlspecialchars($file['parse_error']) ?>\n<\/div>\n<?php endif; ?>\n\n<?php\n\/\/ Quality Data\n$qualityGrade = $file['quality_grade'] ?? null;\n$qualityIssues = json_decode($file['issues_json'] ?? '[]', true) ?: [];\n$gradeClass = match ($qualityGrade) {\n    'A' => 'badge--success',\n    'B' => 'badge--info',\n    'C' => 'badge--warning',\n    'D', 'F' => 'badge--danger',\n    default => 'badge--secondary',\n};\n?>\n<?php if ($qualityGrade): ?>\n<div style=\"margin-bottom: 1.5rem;\">\n    <h2>Code Quality <span class=\"badge <?= $gradeClass ?>\" style=\"font-size: 1.25rem;\"><?= $qualityGrade ?><\/span><\/h2>\n\n    <div style=\"display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: 1rem; margin-bottom: 1rem;\">\n        <div style=\"padding: 0.75rem; background: var(--bg-secondary); border-radius: 6px; text-align: center;\">\n            <div style=\"font-size: 1.5rem; font-weight: bold; color: var(--color-primary);\"><?= $file['complexity_score'] ?? 0 ?><\/div>\n            <div style=\"font-size: 0.75rem; color: var(--text-muted);\">Complexity Score<\/div>\n        <\/div>\n        <div style=\"padding: 0.75rem; background: var(--bg-secondary); border-radius: 6px; text-align: center;\">\n            <div style=\"font-size: 1.5rem; font-weight: bold; color: var(--color-info);\"><?= $file['loc_score'] ?? 0 ?><\/div>\n            <div style=\"font-size: 0.75rem; color: var(--text-muted);\">LOC Score<\/div>\n        <\/div>\n        <div style=\"padding: 0.75rem; background: var(--bg-secondary); border-radius: 6px; text-align: center;\">\n            <div style=\"font-size: 1.5rem; font-weight: bold; color: var(--color-success);\"><?= $file['dependency_score'] ?? 0 ?><\/div>\n            <div style=\"font-size: 0.75rem; color: var(--text-muted);\">Dependency Score<\/div>\n        <\/div>\n        <div style=\"padding: 0.75rem; background: var(--bg-secondary); border-radius: 6px; text-align: center;\">\n            <div style=\"font-size: 1.5rem; font-weight: bold; color: var(--color-warning);\"><?= $file['hardcoded_count'] ?? 0 ?><\/div>\n            <div style=\"font-size: 0.75rem; color: var(--text-muted);\">Hardcoded<\/div>\n        <\/div>\n    <\/div>\n\n    <?php if (!empty($qualityIssues)): ?>\n    <div style=\"background: var(--bg-secondary); border-radius: 8px; padding: 1rem;\">\n        <h3 style=\"margin-top: 0; font-size: 1rem;\">\n            Issues <span class=\"badge badge--danger\"><?= count($qualityIssues) ?><\/span>\n        <\/h3>\n        <table class=\"data-table\" style=\"margin: 0;\">\n            <thead>\n                <tr>\n                    <th style=\"width: 80px;\">Zeile<\/th>\n                    <th style=\"width: 120px;\">Typ<\/th>\n                    <th style=\"width: 100px;\">Severity<\/th>\n                    <th>Beschreibung<\/th>\n                <\/tr>\n            <\/thead>\n            <tbody>\n                <?php foreach ($qualityIssues as $issue): ?>\n                <tr>\n                    <td style=\"font-family: monospace;\"><?= $issue['line'] ?? '-' ?><\/td>\n                    <td>\n                        <span class=\"badge badge--<?= match($issue['type'] ?? '') {\n                            'hardcoded' => 'warning',\n                            'complexity' => 'info',\n                            'srp' => 'primary',\n                            'coupling' => 'danger',\n                            default => 'secondary'\n                        } ?>\">\n                            <?= htmlspecialchars($issue['type'] ?? 'unknown') ?>\n                        <\/span>\n                    <\/td>\n                    <td>\n                        <span class=\"badge badge--<?= match($issue['severity'] ?? '') {\n                            'error' => 'danger',\n                            'warning' => 'warning',\n                            'info' => 'info',\n                            default => 'secondary'\n                        } ?>\">\n                            <?= htmlspecialchars($issue['severity'] ?? 'info') ?>\n                        <\/span>\n                    <\/td>\n                    <td style=\"font-size: 0.875rem;\"><?= htmlspecialchars($issue['message'] ?? '') ?><\/td>\n                <\/tr>\n                <?php endforeach; ?>\n            <\/tbody>\n        <\/table>\n    <\/div>\n    <?php else: ?>\n    <div style=\"padding: 1rem; background: var(--bg-success); border-radius: 8px; color: var(--color-success);\">\n        Keine Issues gefunden - Code ist sauber!\n    <\/div>\n    <?php endif; ?>\n<\/div>\n<?php endif; ?>\n\n<?php\n$totalDeps = count($uses) + ($extendsClass ? 1 : 0) + count($implements) + count($traits) + count($constructorDeps);\n?>\n<?php if ($totalDeps > 0): ?>\n<div style=\"margin-bottom: 1.5rem;\">\n    <h2>Dependencies <span class=\"badge badge--info\"><?= $totalDeps ?><\/span><\/h2>\n    <div style=\"display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 1rem;\">\n        <?php if ($extendsClass): ?>\n        <div style=\"padding: 0.75rem; background: var(--bg-secondary); border-radius: 6px; border-left: 3px solid var(--color-warning);\">\n            <strong style=\"font-size: 0.75rem; color: var(--text-muted); text-transform: uppercase;\">Extends<\/strong>\n            <div style=\"font-family: monospace; font-size: 0.875rem; margin-top: 0.25rem;\"><?= htmlspecialchars($extendsClass) ?><\/div>\n        <\/div>\n        <?php endif; ?>\n\n        <?php if (!empty($implements)): ?>\n        <div style=\"padding: 0.75rem; background: var(--bg-secondary); border-radius: 6px; border-left: 3px solid var(--color-info);\">\n            <strong style=\"font-size: 0.75rem; color: var(--text-muted); text-transform: uppercase;\">Implements (<?= count($implements) ?>)<\/strong>\n            <div style=\"font-family: monospace; font-size: 0.875rem; margin-top: 0.25rem;\">\n                <?php foreach ($implements as $iface): ?>\n                <div><?= htmlspecialchars($iface) ?><\/div>\n                <?php endforeach; ?>\n            <\/div>\n        <\/div>\n        <?php endif; ?>\n\n        <?php if (!empty($traits)): ?>\n        <div style=\"padding: 0.75rem; background: var(--bg-secondary); border-radius: 6px; border-left: 3px solid var(--color-success);\">\n            <strong style=\"font-size: 0.75rem; color: var(--text-muted); text-transform: uppercase;\">Traits (<?= count($traits) ?>)<\/strong>\n            <div style=\"font-family: monospace; font-size: 0.875rem; margin-top: 0.25rem;\">\n                <?php foreach ($traits as $trait): ?>\n                <div><?= htmlspecialchars($trait) ?><\/div>\n                <?php endforeach; ?>\n            <\/div>\n        <\/div>\n        <?php endif; ?>\n\n        <?php if (!empty($constructorDeps)): ?>\n        <div style=\"padding: 0.75rem; background: var(--bg-secondary); border-radius: 6px; border-left: 3px solid var(--color-primary);\">\n            <strong style=\"font-size: 0.75rem; color: var(--text-muted); text-transform: uppercase;\">Constructor DI (<?= count($constructorDeps) ?>)<\/strong>\n            <div style=\"font-family: monospace; font-size: 0.875rem; margin-top: 0.25rem;\">\n                <?php foreach ($constructorDeps as $dep): ?>\n                <div><?= htmlspecialchars($dep) ?><\/div>\n                <?php endforeach; ?>\n            <\/div>\n        <\/div>\n        <?php endif; ?>\n    <\/div>\n\n    <?php if (!empty($uses)): ?>\n    <details style=\"margin-top: 1rem;\">\n        <summary style=\"cursor: pointer; padding: 0.5rem; background: var(--bg-secondary); border-radius: 6px;\">\n            <strong>Use-Statements (<?= count($uses) ?>)<\/strong>\n        <\/summary>\n        <div style=\"padding: 0.75rem; background: var(--bg-tertiary); border-radius: 0 0 6px 6px; font-family: monospace; font-size: 0.875rem;\">\n            <?php foreach ($uses as $use): ?>\n            <div style=\"padding: 0.125rem 0;\"><?= htmlspecialchars($use) ?><\/div>\n            <?php endforeach; ?>\n        <\/div>\n    <\/details>\n    <?php endif; ?>\n<\/div>\n<?php endif; ?>\n\n<div style=\"display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 1.5rem;\">... [TRUNCATED-8d94cc3fab08a8a8]"
    }
}
← Vorheriger Zur Liste Nächster →