{
"tool_response": {
"filePath": "\/var\/www\/dev.campus.systemische-tools.de\/src\/View\/content\/edit.php",
"oldString": "<?php\n\ndeclare(strict_types=1);\n\n\/\/ @responsibility: Edit-Formular für Content-Aufträge mit HTMX-Submit\n\nob_start();\n?>\n\n<nav class=\"breadcrumb\">\n <a href=\"\/content\">Content Studio<\/a> » <a href=\"\/content\/<?= $order['id'] ?>\">Auftrag #<?= $order['id'] ?><\/a> » Bearbeiten\n<\/nav>\n\n<h1>Auftrag bearbeiten<\/h1>\n\n<form id=\"order-form\" class=\"form\" style=\"max-width: 600px;\"\n hx-put=\"\/api\/v1\/content\/<?= $order['id'] ?>\"\n hx-headers='{\"X-CSRF-TOKEN\": \"<?= $csrfToken ?>\"}'\n hx-target=\"#form-message\"\n hx-swap=\"innerHTML\"\n hx-indicator=\"#save-btn\"\n hx-disabled-elt=\"#save-btn\">\n <div class=\"form-group\">\n <label for=\"title\">Titel *<\/label>\n <input type=\"text\" id=\"title\" name=\"title\" class=\"form-input\" required\n value=\"<?= htmlspecialchars($order['title']) ?>\">\n <\/div>\n <div class=\"form-group\">\n <label for=\"briefing\">Briefing *<\/label>\n <textarea id=\"briefing\" name=\"briefing\" class=\"form-textarea\" rows=\"6\" required><?= htmlspecialchars($order['briefing']) ?><\/textarea>\n <\/div>\n <div class=\"form-group\">\n <label for=\"author_profile_id\">Autorenprofil<\/label>\n <select id=\"author_profile_id\" name=\"author_profile_id\" class=\"form-select\">\n <option value=\"\">-- Kein Profil --<\/option>\n <?php foreach ($profiles ?? [] as $profile): ?>\n <option value=\"<?= $profile['id'] ?>\" <?= ($order['author_profile_id'] ?? '') == $profile['id'] ? 'selected' : '' ?>><?= htmlspecialchars($profile['name']) ?><\/option>\n <?php endforeach; ?>\n <\/select>\n <\/div>\n <div class=\"form-group\">\n <label for=\"contract_id\">Contract<\/label>\n <select id=\"contract_id\" name=\"contract_id\" class=\"form-select\">\n <option value=\"\">-- Kein Contract --<\/option>\n <?php foreach ($contracts ?? [] as $contract): ?>\n <option value=\"<?= $contract['id'] ?>\" <?= ($order['contract_id'] ?? '') == $contract['id'] ? 'selected' : '' ?>><?= htmlspecialchars($contract['name']) ?><\/option>\n <?php endforeach; ?>\n <\/select>\n <\/div>\n <div class=\"form-group\">\n <label for=\"structure_id\">Struktur<\/label>\n <select id=\"structure_id\" name=\"structure_id\" class=\"form-select\">\n <option value=\"\">-- Keine Struktur --<\/option>\n <?php foreach ($structures ?? [] as $structure): ?>\n <option value=\"<?= $structure['id'] ?>\" <?= ($order['structure_id'] ?? '') == $structure['id'] ? 'selected' : '' ?>><?= htmlspecialchars($structure['name']) ?><\/option>\n <?php endforeach; ?>\n <\/select>\n <\/div>\n <div class=\"form-actions\">\n <button type=\"submit\" id=\"save-btn\" class=\"btn btn--primary\">\n <span class=\"htmx-indicator\">Speichern...<\/span>\n <span class=\"htmx-content\">Speichern<\/span>\n <\/button>\n <a href=\"\/content\/<?= $order['id'] ?>\" class=\"btn\">Abbrechen<\/a>\n <\/div>\n<\/form>\n<div id=\"form-message\" class=\"form-message\"><\/div>\n\n<?php $content = ob_get_clean(); ?>\n<?php require VIEW_PATH . '\/layout.php'; ?>",
"newString": "<?php\n\ndeclare(strict_types=1);\n\n\/\/ @responsibility: Edit-Formular für Content-Aufträge mit HTMX-Submit\n\nob_start();\n$orderModel = $order['model'] ?? 'claude-sonnet-4-20250514';\n$orderCollections = json_decode($order['collections'] ?? '[\"documents\"]', true) ?: ['documents'];\n$orderContextLimit = (int) ($order['context_limit'] ?? 5);\n$orderTemperature = (float) ($order['temperature'] ?? 0.5);\n$orderMaxTokens = (int) ($order['max_tokens'] ?? 4096);\n$orderSystemPromptId = $order['system_prompt_id'] ?? null;\n$orderQualityCheck = (bool) ($order['quality_check'] ?? false);\n$orderSelectedCritics = json_decode($order['selected_critics'] ?? '[]', true) ?: [];\n?>\n\n<nav class=\"breadcrumb\">\n <a href=\"\/content\">Content Studio<\/a> » <a href=\"\/content\/<?= $order['id'] ?>\">Auftrag #<?= $order['id'] ?><\/a> » Bearbeiten\n<\/nav>\n\n<h1>Auftrag bearbeiten<\/h1>\n\n<form id=\"order-form\" class=\"form\" style=\"max-width: 700px;\"\n hx-put=\"\/api\/v1\/content\/<?= $order['id'] ?>\"\n hx-headers='{\"X-CSRF-TOKEN\": \"<?= $csrfToken ?>\"}'\n hx-target=\"#form-message\"\n hx-swap=\"innerHTML\"\n hx-indicator=\"#save-btn\"\n hx-disabled-elt=\"#save-btn\">\n\n <fieldset>\n <legend>Inhalt<\/legend>\n <div class=\"form-group\">\n <label for=\"title\">Titel *<\/label>\n <input type=\"text\" id=\"title\" name=\"title\" class=\"form-input\" required\n value=\"<?= htmlspecialchars($order['title']) ?>\">\n <\/div>\n <div class=\"form-group\">\n <label for=\"briefing\">Briefing *<\/label>\n <textarea id=\"briefing\" name=\"briefing\" class=\"form-textarea\" rows=\"6\" required><?= htmlspecialchars($order['briefing']) ?><\/textarea>\n <\/div>\n <\/fieldset>\n\n <fieldset>\n <legend>KI-Einstellungen<\/legend>\n <div class=\"form-row\">\n <div class=\"form-group form-group--half\">\n <label for=\"model\">Sprachmodell<\/label>\n <select id=\"model\" name=\"model\" class=\"form-select\">\n <?php foreach ($models ?? [] as $modelId => $modelName): ?>\n <option value=\"<?= $modelId ?>\" <?= $modelId === $orderModel ? 'selected' : '' ?>><?= htmlspecialchars($modelName) ?><\/option>\n <?php endforeach; ?>\n <\/select>\n <\/div>\n <div class=\"form-group form-group--half\">\n <label for=\"context_limit\">Kontext-Quellen<\/label>\n <select id=\"context_limit\" name=\"context_limit\" class=\"form-select\">\n <option value=\"3\" <?= $orderContextLimit === 3 ? 'selected' : '' ?>>3 Quellen<\/option>\n <option value=\"5\" <?= $orderContextLimit === 5 ? 'selected' : '' ?>>5 Quellen<\/option>\n <option value=\"10\" <?= $orderContextLimit === 10 ? 'selected' : '' ?>>10 Quellen<\/option>\n <option value=\"15\" <?= $orderContextLimit === 15 ? 'selected' : '' ?>>15 Quellen<\/option>\n <\/select>\n <\/div>\n <\/div>\n <div class=\"form-group\">\n <label>Collections (Wissensquellen)<\/label>\n <?php\n $selected = $orderCollections;\n$variant = 'checkbox';\ninclude __DIR__ . '\/..\/partials\/form\/collections-select.php';\n?>\n <\/div>\n <div class=\"form-row\">\n <div class=\"form-group form-group--half\">\n <label for=\"temperature\">Temperatur: <span id=\"tempValue\"><?= number_format($orderTemperature, 1) ?><\/span><\/label>\n <input type=\"range\" id=\"temperature\" name=\"temperature\" class=\"form-slider\"\n min=\"0\" max=\"1\" step=\"0.1\" value=\"<?= $orderTemperature ?>\">\n <div class=\"preset-buttons\">\n <button type=\"button\" class=\"preset-btn<?= $orderTemperature == 0.3 ? ' preset-btn--active' : '' ?>\" data-temp=\"0.3\" data-tokens=\"2048\">Präzise<\/button>\n <button type=\"button\" class=\"preset-btn<?= $orderTemperature == 0.5 ? ' preset-btn--active' : '' ?>\" data-temp=\"0.5\" data-tokens=\"4096\">Ausgewogen<\/button>\n <button type=\"button\" class=\"preset-btn<?= $orderTemperature == 0.9 ? ' preset-btn--active' : '' ?>\" data-temp=\"0.9\" data-tokens=\"4096\">Kreativ<\/button>\n <\/div>\n <\/div>\n <div class=\"form-group form-group--half\">\n <label for=\"max_tokens\">Max Tokens<\/label>\n <select id=\"max_tokens\" name=\"max_tokens\" class=\"form-select\">\n <option value=\"1024\" <?= $orderMaxTokens === 1024 ? 'selected' : '' ?>>1024<\/option>\n <option value=\"2048\" <?= $orderMaxTokens === 2048 ? 'selected' : '' ?>>2048<\/option>\n <option value=\"4096\" <?= $orderMaxTokens === 4096 ? 'selected' : '' ?>>4096<\/option>\n <option value=\"8192\" <?= $orderMaxTokens === 8192 ? 'selected' : '' ?>>8192<\/option>\n <\/select>\n <\/div>\n <\/div>\n <div class=\"form-row\">\n <div class=\"form-group form-group--half\">\n <label for=\"system_prompt_id\">System Prompt<\/label>\n <select id=\"system_prompt_id\" name=\"system_prompt_id\" class=\"form-select\">\n <option value=\"\">-- Standard --<\/option>\n <?php foreach ($systemPrompts ?? [] as $prompt): ?>\n <option value=\"<?= $prompt['id'] ?>\" <?= $orderSystemPromptId !== null && (int) $orderSystemPromptId === (int) $prompt['id'] ? 'selected' : '' ?>><?= htmlspecialchars($prompt['name']) ?><\/option>\n <?php endforeach; ?>\n <\/select>\n <\/div>\n <div class=\"form-group form-group--half form-group--checkbox\">\n <label class=\"checkbox-toggle\">\n <input type=\"checkbox\" id=\"quality_check\" name=\"quality_check\" value=\"1\" <?= $orderQualityCheck ? 'checked' : '' ?>>\n <span class=\"checkbox-toggle__label\">Qualitätsprüfung (LLM-Validierung)<\/span>\n <\/label>\n <\/div>\n <\/div>\n <\/fieldset>\n\n <fieldset>\n <legend>Content-Konfiguration<\/legend>\n <div class=\"form-row\">\n <div class=\"form-group form-group--third\">\n <label for=\"author_profile_id\">Autorenprofil<\/label>\n <select id=\"author_profile_id\" name=\"author_profile_id\" class=\"form-select\">\n <option value=\"\">-- Kein Profil --<\/option>\n <?php foreach ($profiles ?? [] as $profile): ?>\n <option value=\"<?= $profile['id'] ?>\" <?= ($order['author_profile_id'] ?? '') == $profile['id'] ? 'selected' : '' ?>><?= htmlspecialchars($profile['name']) ?><\/option>\n <?php endforeach; ?>\n <\/select>\n <\/div>\n <div class=\"form-group form-group--third\">\n <label for=\"contract_id\">Contract<\/label>\n <select id=\"contract_id\" name=\"contract_id\" class=\"form-select\">\n <option value=\"\">-- Kein Contract --<\/option>\n <?php foreach ($contracts ?? [] as $contract): ?>\n <option value=\"<?= $contract['id'] ?>\" <?= ($order['contract_id'] ?? '') == $contract['id'] ? 'selected' : '' ?>><?= htmlspecialchars($contract['name']) ?><\/option>\n <?php endforeach; ?>\n <\/select>\n <\/div>\n <div class=\"form-group form-group--third\">\n <label for=\"structure_id\">Struktur<\/label>\n <select id=\"structure_id\" name=\"structure_id\" class=\"form-select\">\n <option value=\"\">-- Keine Struktur --<\/option>\n <?php foreach ($structures ?? [] as $structure): ?>\n <option value=\"<?= $structure['id'] ?>\" <?= ($order['structure_id'] ?? '') == $structure['id'] ? 'selected' : '' ?>><?= htmlspecialchars($structure['name']) ?><\/option>\n <?php endforeach; ?>\n <\/select>\n <\/div>\n <\/div>\n <\/fieldset>\n\n <div class=\"form-actions\">\n <button type=\"submit\" id=\"save-btn\" class=\"btn btn--primary\">\n <span class=\"htmx-indicator\">Speichern...<\/span>\n <span class=\"htmx-content\">Speichern<\/span>\n <\/button>\n <a href=\"\/content\/<?= $order['id'] ?>\" class=\"btn\">Abbrechen<\/a>\n <\/div>\n<\/form>\n<div id=\"form-message\" class=\"form-message\"><\/div>\n\n<style>\n.form-row { display: flex; gap: var(--space-md); }\n.form-group--half { flex: 1; }\n.form-group--third { flex: 1; }\n.form-group--checkbox { display: flex; align-items: center; }\nfieldset { border: 1px solid var(--color-border); border-radius: 8px; padding: var(--space-md); margin-bottom: var(--space-md); }\nlegend { font-weight: 600; padding: 0 0.5rem; }\n\n\/* Temperature Slider *\/\n.form-slider { width: 100%; height: 6px; border-radius: 3px; background: var(--color-bg-muted); appearance: none; cursor: pointer; margin: 0.5rem 0; }\n.form-slider::-webkit-slider-thumb { appearance: none; width: 18px; height: 18px; border-radius: 50%; background: var(--color-primary); cursor: pointer; }\n.form-slider::-moz-range-thumb { width: 18px; height: 18px; border-radius: 50%; background: var(--color-primary); cursor: pointer; border: none; }\n\n\/* Preset Buttons *\/\n.preset-buttons { display: flex; gap: 0.5rem; margin-top: 0.5rem; }\n.preset-btn { flex: 1; padding: 0.4rem 0.6rem; font-size: 0.8rem; border: 1px solid var(--color-border); border-radius: 4px; background: var(--color-bg); cursor: pointer; transition: all 0.2s; }\n.preset-btn:hover { background: var(--color-bg-muted); }\n.preset-btn--active { background: var(--color-primary); color: white; border-color: var(--color-primary); }\n\n\/* Checkbox Toggle *\/\n.checkbox-toggle { display: flex; align-items: center; gap: 0.5rem; cursor: pointer; padding: 0.5rem 0; }\n.checkbox-toggle input[type=\"checkbox\"] { width: 18px; height: 18px; cursor: pointer; }\n.checkbox-toggle__label { font-size: 0.9rem; }\n\n@media (max-width: 600px) {\n .form-row { flex-direction: colu... [TRUNCATED-d1a2765417f02d43]",
"originalFile": "<?php\n\ndeclare(strict_types=1);\n\n\/\/ @responsibility: Edit-Formular für Content-Aufträge mit HTMX-Submit\n\nob_start();\n?>\n\n<nav class=\"breadcrumb\">\n <a href=\"\/content\">Content Studio<\/a> » <a href=\"\/content\/<?= $order['id'] ?>\">Auftrag #<?= $order['id'] ?><\/a> » Bearbeiten\n<\/nav>\n\n<h1>Auftrag bearbeiten<\/h1>\n\n<form id=\"order-form\" class=\"form\" style=\"max-width: 600px;\"\n hx-put=\"\/api\/v1\/content\/<?= $order['id'] ?>\"\n hx-headers='{\"X-CSRF-TOKEN\": \"<?= $csrfToken ?>\"}'\n hx-target=\"#form-message\"\n hx-swap=\"innerHTML\"\n hx-indicator=\"#save-btn\"\n hx-disabled-elt=\"#save-btn\">\n <div class=\"form-group\">\n <label for=\"title\">Titel *<\/label>\n <input type=\"text\" id=\"title\" name=\"title\" class=\"form-input\" required\n value=\"<?= htmlspecialchars($order['title']) ?>\">\n <\/div>\n <div class=\"form-group\">\n <label for=\"briefing\">Briefing *<\/label>\n <textarea id=\"briefing\" name=\"briefing\" class=\"form-textarea\" rows=\"6\" required><?= htmlspecialchars($order['briefing']) ?><\/textarea>\n <\/div>\n <div class=\"form-group\">\n <label for=\"author_profile_id\">Autorenprofil<\/label>\n <select id=\"author_profile_id\" name=\"author_profile_id\" class=\"form-select\">\n <option value=\"\">-- Kein Profil --<\/option>\n <?php foreach ($profiles ?? [] as $profile): ?>\n <option value=\"<?= $profile['id'] ?>\" <?= ($order['author_profile_id'] ?? '') == $profile['id'] ? 'selected' : '' ?>><?= htmlspecialchars($profile['name']) ?><\/option>\n <?php endforeach; ?>\n <\/select>\n <\/div>\n <div class=\"form-group\">\n <label for=\"contract_id\">Contract<\/label>\n <select id=\"contract_id\" name=\"contract_id\" class=\"form-select\">\n <option value=\"\">-- Kein Contract --<\/option>\n <?php foreach ($contracts ?? [] as $contract): ?>\n <option value=\"<?= $contract['id'] ?>\" <?= ($order['contract_id'] ?? '') == $contract['id'] ? 'selected' : '' ?>><?= htmlspecialchars($contract['name']) ?><\/option>\n <?php endforeach; ?>\n <\/select>\n <\/div>\n <div class=\"form-group\">\n <label for=\"structure_id\">Struktur<\/label>\n <select id=\"structure_id\" name=\"structure_id\" class=\"form-select\">\n <option value=\"\">-- Keine Struktur --<\/option>\n <?php foreach ($structures ?? [] as $structure): ?>\n <option value=\"<?= $structure['id'] ?>\" <?= ($order['structure_id'] ?? '') == $structure['id'] ? 'selected' : '' ?>><?= htmlspecialchars($structure['name']) ?><\/option>\n <?php endforeach; ?>\n <\/select>\n <\/div>\n <div class=\"form-actions\">\n <button type=\"submit\" id=\"save-btn\" class=\"btn btn--primary\">\n <span class=\"htmx-indicator\">Speichern...<\/span>\n <span class=\"htmx-content\">Speichern<\/span>\n <\/button>\n <a href=\"\/content\/<?= $order['id'] ?>\" class=\"btn\">Abbrechen<\/a>\n <\/div>\n<\/form>\n<div id=\"form-message\" class=\"form-message\"><\/div>\n\n<?php $content = ob_get_clean(); ?>\n<?php require VIEW_PATH . '\/layout.php'; ?>\n",
"structuredPatch": [
{
"oldStart": 5,
"oldLines": 6,
"newStart": 5,
"newLines": 14,
"lines": [
" \/\/ @responsibility: Edit-Formular für Content-Aufträge mit HTMX-Submit",
" ",
" ob_start();",
"+$orderModel = $order['model'] ?? 'claude-sonnet-4-20250514';",
"+$orderCollections = json_decode($order['collections'] ?? '[\"documents\"]', true) ?: ['documents'];",
"+$orderContextLimit = (int) ($order['context_limit'] ?? 5);",
"+$orderTemperature = (float) ($order['temperature'] ?? 0.5);",
"+$orderMaxTokens = (int) ($order['max_tokens'] ?? 4096);",
"+$orderSystemPromptId = $order['system_prompt_id'] ?? null;",
"+$orderQualityCheck = (bool) ($order['quality_check'] ?? false);",
"+$orderSelectedCritics = json_decode($order['selected_critics'] ?? '[]', true) ?: [];",
" ?>",
" ",
" <nav class=\"breadcrumb\">"
]
},
{
"oldStart": 13,
"oldLines": 49,
"newStart": 21,
"newLines": 129,
"lines": [
" ",
" <h1>Auftrag bearbeiten<\/h1>",
" ",
"-<form id=\"order-form\" class=\"form\" style=\"max-width: 600px;\"",
"+<form id=\"order-form\" class=\"form\" style=\"max-width: 700px;\"",
" hx-put=\"\/api\/v1\/content\/<?= $order['id'] ?>\"",
" hx-headers='{\"X-CSRF-TOKEN\": \"<?= $csrfToken ?>\"}'",
" hx-target=\"#form-message\"",
" hx-swap=\"innerHTML\"",
" hx-indicator=\"#save-btn\"",
" hx-disabled-elt=\"#save-btn\">",
"- <div class=\"form-group\">",
"- <label for=\"title\">Titel *<\/label>",
"- <input type=\"text\" id=\"title\" name=\"title\" class=\"form-input\" required",
"- value=\"<?= htmlspecialchars($order['title']) ?>\">",
"- <\/div>",
"- <div class=\"form-group\">",
"- <label for=\"briefing\">Briefing *<\/label>",
"- <textarea id=\"briefing\" name=\"briefing\" class=\"form-textarea\" rows=\"6\" required><?= htmlspecialchars($order['briefing']) ?><\/textarea>",
"- <\/div>",
"- <div class=\"form-group\">",
"- <label for=\"author_profile_id\">Autorenprofil<\/label>",
"- <select id=\"author_profile_id\" name=\"author_profile_id\" class=\"form-select\">",
"- <option value=\"\">-- Kein Profil --<\/option>",
"- <?php foreach ($profiles ?? [] as $profile): ?>",
"- <option value=\"<?= $profile['id'] ?>\" <?= ($order['author_profile_id'] ?? '') == $profile['id'] ? 'selected' : '' ?>><?= htmlspecialchars($profile['name']) ?><\/option>",
"- <?php endforeach; ?>",
"- <\/select>",
"- <\/div>",
"- <div class=\"form-group\">",
"- <label for=\"contract_id\">Contract<\/label>",
"- <select id=\"contract_id\" name=\"contract_id\" class=\"form-select\">",
"- <option value=\"\">-- Kein Contract --<\/option>",
"- <?php foreach ($contracts ?? [] as $contract): ?>",
"- <option value=\"<?= $contract['id'] ?>\" <?= ($order['contract_id'] ?? '') == $contract['id'] ? 'selected' : '' ?>><?= htmlspecialchars($contract['name']) ?><\/option>",
"- <?php endforeach; ?>",
"- <\/select>",
"- <\/div>",
"- <div class=\"form-group\">",
"- <label for=\"structure_id\">Struktur<\/label>",
"- <select id=\"structure_id\" name=\"structure_id\" class=\"form-select\">",
"- <option value=\"\">-- Keine Struktur --<\/option>",
"- <?php foreach ($structures ?? [] as $structure): ?>",
"- <option value=\"<?= $structure['id'] ?>\" <?= ($order['structure_id'] ?? '') == $structure['id'] ? 'selected' : '' ?>><?= htmlspecialchars($structure['name']) ?><\/option>",
"- <?php endforeach; ?>",
"- <\/select>",
"- <\/div>",
"+",
"+ <fieldset>",
"+ <legend>Inhalt<\/legend>",
"+ <div class=\"form-group\">",
"+ <label for=\"title\">Titel *<\/label>",
"+ <input type=\"text\" id=\"title\" name=\"title\" class=\"form-input\" required",
"+ value=\"<?= htmlspecialchars($order['title']) ?>\">",
"+ <\/div>",
"+ <div class=\"form-group\">",
"+ <label for=\"briefing\">Briefing *<\/label>",
"+ <textarea id=\"briefing\" name=\"briefing\" class=\"form-textarea\" rows=\"6\" required><?= htmlspecialchars($order['briefing']) ?><\/textarea>",
"+ <\/div>",
"+ <\/fieldset>",
"+",
"+ <fieldset>",
"+ <legend>KI-Einstellungen<\/legend>",
"+ <div class=\"form-row\">",
"+ <div class=\"form-group form-group--half\">",
"+ <label for=\"model\">Sprachmodell<\/label>",
"+ <select id=\"model\" name=\"model\" class=\"form-select\">",
"+ <?php foreach ($models ?? [] as $modelId => $modelName): ?>",
"+ <option value=\"<?= $modelId ?>\" <?= $modelId === $orderModel ? 'selected' : '' ?>><?= htmlspecialchars($modelName) ?><\/option>",
"+ <?php endforeach; ?>",
"+ <\/select>",
"+ <\/div>",
"+ <div class=\"form-group form-group--half\">",
"+ <label for=\"context_limit\">Kontext-Quellen<\/label>",
"+ <select id=\"context_limit\" name=\"context_limit\" class=\"form-select\">",
"+ <option value=\"3\" <?= $orderContextLimit === 3 ? 'selected' : '' ?>>3 Quellen<\/option>",
"+ <option value=\"5\" <?= $orderContextLimit === 5 ? 'selected' : '' ?>>5 Quellen<\/option>",
"+ <option value=\"10\" <?= $orderContextLimit === 10 ? 'selected' : '' ?>>10 Quellen<\/option>",
"+ <option value=\"15\" <?= $orderContextLimit === 15 ? 'selected' : '' ?>>15 Quellen<\/option>",
"+ <\/select>",
"+ <\/div>",
"+ <\/div>",
"+ <div class=\"form-group\">",
"+ <label>Collections (Wissensquellen)<\/label>",
"+ <?php",
"+ $selected = $orderCollections;",
"+$variant = 'checkbox';",
"+include __DIR__ . '\/..\/partials\/form\/collections-select.php';",
"+?>",
"+ <\/div>",
"+ <div class=\"form-row\">",
"+ <div class=\"form-group form-group--half\">",
"+ <label for=\"temperature\">Temperatur: <span id=\"tempValue\"><?= number_format($orderTemperature, 1) ?><\/span><\/label>",
"+ <input type=\"range\" id=\"temperature\" name=\"temperature\" class=\"form-slider\"",
"+ min=\"0\" max=\"1\" step=\"0.1\" value=\"<?= $orderTemperature ?>\">",
"+ <div class=\"preset-buttons\">",
"+ <button type=\"button\" class=\"preset-btn<?= $orderTemperature == 0.3 ? ' preset-btn--active' : '' ?>\" data-temp=\"0.3\" data-tokens=\"2048\">Präzise<\/button>",
"+ <button type=\"button\" class=\"preset-btn<?= $orderTemperature == 0.5 ? ' preset-btn--active' : '' ?>\" data-temp=\"0.5\" data-tokens=\"4096\">Ausgewogen<\/button>",
"+ <button type=\"button\" class=\"preset-btn<?= $orderTemperature == 0.9 ? ' preset-btn--active' : '' ?>\" data-temp=\"0.9\" data-tokens=\"4096\">Kreativ<\/button>",
"+ <\/div>",
"+ <\/div>",
"+ <div class=\"form-group form-group--half\">",
"+ <label for=\"max_tokens\">Max Tokens<\/label>",
"+ <select id=\"max_tokens\" name=\"max_tokens\" class=\"form-select\">",
"+ <option value=\"1024\" <?= $orderMaxTokens === 1024 ? 'selected' : '' ?>>1024<\/option>",
"+ <option value=\"2048\" <?= $orderMaxTokens === 2048 ? 'selected' : '' ?>>2048<\/option>",
"+ <option value=\"4096\" <?= $orderMaxTokens === 4096 ? 'selected' : '' ?>>4096<\/option>",
"+ <option value=\"8192\" <?= $orderMaxTokens === 8192 ? 'selected' : '' ?>>8192<\/option>",
"+ <\/select>",
"+ <\/div>",
"+ <\/div>",
"+ <div class=\"form-row\">",
"+ <div class=\"form-group form-group--half\">",
"+ <label for=\"system_prompt_id\">System Prompt<\/label>",
"+ <select id=\"system_prompt_id\" name=\"system_prompt_id\" class=\"form-select\">",
"+ <option value=\"\">-- Standard --<\/option>",
"+ <?php foreach ($systemPrompts ?? [] as $prompt): ?>",
"+ <option value=\"<?= $prompt['id'] ?>\" <?= $orderSystemPromptId !== null && (int) $orderSystemPromptId === (int) $prompt['id'] ? 'selected' : '' ?>><?= htmlspecialchars($prompt['name']) ?><\/option>",
"+ <?php endforeach; ?>",
"+ <\/select>",
"+ <\/div>",
"+ <div class=\"form-group form-group--half form-group--checkbox\">",
"+ <label class=\"checkbox-toggle\">",
"+ <input type=\"checkbox\" id=\"quality_check\" name=\"quality_check\" value=\"1\" <?= $orderQualityCheck ? 'checked' : '' ?>>",
"+ <span class=\"checkbox-toggle__label\">Qualitätsprüfung (LLM-Validierung)<\/span>",
"+ <\/label>",
"+ <\/div>",
"+ <\/div>",
"+ <\/fieldset>",
"+",
"+ <fieldset>",
"+ <legend>Content-Konfiguration<\/legend>",
"+ <div class=\"form-row\">",
"+ <div class=\"form-group form-group--third\">",
"+ <label for=\"author_profile_id\">Autorenprofil<\/label>",
"+ <select id=\"author_profile_id\" name=\"author_profile_id\" class=\"form-select\">",
"+ <option value=\"\">-- Kein Profil --<\/option>",
"+ <?php foreach ($profiles ?? [] as $profile): ?>",
"+ <option value=\"<?= $profile['id'] ?>\" <?= ($order['author_profile_id'] ?? '') == $profile['id'] ? 'selected' : '' ?>><?= htmlspecialchars($profile['name']) ?><\/option>",
"+ <?php endforeach; ?>",
"+ <\/select>",
"+ <\/div>",
"+ <div class=\"form-group form-group--third\">",
"+ <label for=\"contract_id\">Contract<\/label>",
"+ <select id=\"contract_id\" name=\"contract_id\" class=\"form-select\">",
"+ <option value=\"\">-- Kein Contract --<\/option>",
"+ <?php foreach ($contracts ?? [] as $contract): ?>",
"+ <option value=\"<?= $contract['id'] ?>\" <?= ($order['contract_id'] ?? '') == $contract['id'] ? 'selected' : '' ?>><?= htmlspecialchars($contract['name']) ?><\/option>",
"+ <?php endforeach; ?>",
"+ <\/select>",
"+ <\/div>",
"+ <div class=\"form-group form-group--third\">",
"+ <label for=\"structure_id\">Struktur<\/label>",
"+ <select id=\"structure_id\" name=\"structure_id\" class=\"form-select\">",
"+ <option value=\"\">-- Keine Struktur --<\/option>",
"+ <?php foreach ($structures ?? [] as $structure): ?>",
"+ <option value=\"<?= $structure['id'] ?>\" <?= ($order['structure_id'] ?? '') == $structure['id'] ? 'selected' : '' ?>><?= htmlspecialchars($structure['name']) ?><\/option>",
"+ <?php endforeach; ?>",
"+ <\/select>",
"+ <\/div>",
"+ <\/div>",
"+ <\/fieldset>",
"+",
" <div class=\"form-actions\">",
" <button type=\"submit\" id=\"save-btn\" class=\"btn btn--primary\">",
" <span class=\"htmx-indicator\">Speichern...<\/span>"
]
},
{
"oldStart": 66,
"oldLines": 5,
"newStart": 154,
"newLines": 71,
"lines": [
" <\/form>",
" <div id=\"form-message\" class=\"form-message\"><\/div>",
" ",
"+<style>",
"+.form-row { display: flex; gap: var(--space-md); }",
"+.form-group--half { flex: 1; }",
"+.form-group--third { flex: 1; }",
"+.form-group--checkbox { display: flex; align-items: center; }",
"+fieldset { border: 1px solid var(--color-border); border-radius: 8px; padding: var(--space-md); margin-bottom: var(--space-md); }",
"+legend { font-weight: 600; padding: 0 0.5rem; }",
"+",
"+\/* Temperature Slider *\/",
"+.form-slider { width: 100%; height: 6px; border-radius: 3px; background: var(--color-bg-muted); appearance: none; cursor: pointer; margin: 0.5rem 0; }",
"+.form-slider::-webkit-slider-thumb { appearance: none; width: 18px; height: 18px; border-radius: 50%; background: var(--color-primary); cursor: pointer; }",
"+.form-slider::-moz-range-thumb { width: 18px; height: 18px; border-radius: 50%; background: var(--color-primary); cursor: pointer; border: none; }",
"+",
"+\/* Preset Buttons *\/",
"+.preset-buttons { display: flex; gap: 0.5rem; margin-top: 0.5rem; }",
"+.preset-btn { flex: 1; padding: 0.4rem 0.6rem; font-size: 0.8rem; border: 1px solid var(--color-border); border-radius: 4px; background: var(--color-bg); cursor: pointer; transition: all 0.2s; }",
"+.preset-btn:hover { background: var(--color-bg-muted); }",
"+.preset-btn--active { background: var(--color-primary); color: white; border-color: var(--color-primary); }",
"+",
"+\/* Checkbox Toggle *\/",
"+.checkbox-toggle { display: flex; align-items: center; gap: 0.5rem; cursor: pointer; padding: 0.5rem 0; }",
"+.checkbox-toggle input[type=\"checkbox\"] { width: 18px; height: 18px; cursor: pointer; }",
"+.checkbox-toggle__label { font-size: 0.9rem; }",
"+",
"+@media (max-width: 600px) {",
"+ .form-row { flex-direction: column; gap: 0; }",
"+}",
"+<\/style>",
"+",
"+<script>",
"+document.addEventListener('DOMContentLoaded', function() {",
"+ const tempSlider = document.getElementById('temperature');",
"+ const tempValue = document.getElementById('tempValue');",
"+ const maxTokens = document.getElementById('max_tokens');",
"+ const presetBtns = document.querySelectorAll('.preset-btn');",
"+",
"+ if (tempSlider && tempValue) {",
"+ tempSlider.addEventListener('input', function() {",
"+ tempValue.textContent = parseFloat(this.value).toFixed(1);",
"+ updatePresetButtons(this.value);",
"+ });",
"+ }",
"+",
"+ presetBtns.forEach(btn => {",
"+ btn.addEventListener('click', function() {",
"+ const temp = this.dataset.temp;",
"+ const tokens = this.dataset.tokens;",
"+ if (tempSlider) {",
"+ tempSlider.value = temp;",
"+ tempValue.textContent = parseFloat(temp).toFixed(1);",
"+ }",
"+ if (maxTokens && tokens) {",
"+ maxTokens.value = tokens;",
"+ }",
"+ updatePresetButtons(temp);",
"+ });",
"+ });",
"+",
"+ function updatePresetButtons(temp) {",
"+ presetBtns.forEach(btn => {",
"+ btn.classList.toggle('preset-btn--active', btn.dataset.temp === temp);",
"+ });",
"+ }",
"+});",
"+<\/script>",
"+",
" <?php $content = ob_get_clean(); ?>",
" <?php require VIEW_PATH . '\/layout.php'; ?>"
]
}
],
"userModified": false,
"replaceAll": false
}
}