{
"event": "PreToolUse",
"tool_name": "Read",
"tool_input": {
"file_path": "\/var\/www\/dev.campus.systemische-tools.de\/src\/Controller\/ContentController.php",
"offset": 100,
"limit": 100
}
}
{
"tool_response": {
"type": "text",
"file": {
"filePath": "\/var\/www\/dev.campus.systemische-tools.de\/src\/Controller\/ContentController.php",
"content": "\n \/\/ Process collections (multi-select)\n $collections = $_POST['collections'] ?? ['documents'];\n if (!is_array($collections)) {\n $collections = [$collections];\n }\n\n \/\/ Validate collection compatibility\n $collections = $this->validateCollections($collections);\n $compatibility = $this->validateCollectionCompatibility($collections);\n if (!$compatibility['valid']) {\n $_SESSION['error'] = 'Collection-Fehler: ' . $compatibility['error'];\n header('Location: \/content\/new');\n exit;\n }\n\n $model = ModelConfig::validate($_POST['model'] ?? ModelConfig::DEFAULT_MODEL);\n $contextLimit = (int) ($_POST['context_limit'] ?? 5);\n\n $orderId = $this->repository->createOrder([\n 'title' => $title,\n 'briefing' => $briefing,\n 'author_profile_id' => $_POST['author_profile_id'] ?? null,\n 'contract_id' => $contractId,\n 'structure_id' => $_POST['structure_id'] ?? null,\n 'model' => $model,\n 'collections' => json_encode($collections),\n 'context_limit' => $contextLimit,\n ]);\n\n \/\/ If \"generate\" action: generate content immediately\n if (($_POST['action'] ?? 'save') === 'generate') {\n $collection = $collections[0] ?? 'documents';\n $result = $this->callPython('generate', $orderId, [$model, $collection, $contextLimit]);\n\n if (isset($result['error'])) {\n $_SESSION['error'] = 'Generierung fehlgeschlagen: ' . $result['error'];\n } else {\n $_SESSION['success'] = 'Content wurde generiert.';\n }\n }\n\n header('Location: \/content\/' . $orderId);\n exit;\n }\n\n \/**\n * GET \/content\/{id}\n * Show order details\n *\/\n public function show(int $id): void\n {\n $order = $this->repository->findOrder($id);\n\n if ($order === null) {\n http_response_code(404);\n echo '404 - Auftrag nicht gefunden';\n\n return;\n }\n\n $versions = $this->repository->findVersionsByOrder($id);\n $latestVersion = $versions[0] ?? null;\n $critiques = $latestVersion ? $this->repository->findCritiquesByVersion($latestVersion['id']) : [];\n $sources = $this->repository->findSourcesByOrder($id);\n\n \/\/ Get available collections for the dropdown\n $availableCollections = $this->getAvailableCollections();\n\n $this->view('content.show', [\n 'title' => $order['title'],\n 'order' => $order,\n 'versions' => $versions,\n 'latestVersion' => $latestVersion,\n 'critiques' => $critiques,\n 'sources' => $sources,\n 'models' => ModelConfig::getAll(),\n 'availableCollections' => $availableCollections,\n ]);\n }\n\n \/**\n * GET \/content\/{id}\/edit\n * Show edit form\n *\/\n public function edit(int $id): void\n {\n $order = $this->repository->findOrder($id);\n\n if ($order === null) {\n http_response_code(404);\n echo '404 - Auftrag nicht gefunden';\n\n return;\n }\n\n $this->view('content.edit', [\n 'title' => 'Auftrag bearbeiten',\n 'order' => $order,\n 'profiles' => $this->repository->findAllProfiles(),",
"numLines": 100,
"startLine": 100,
"totalLines": 514
}
}
}