{
"event": "PreToolUse",
"tool_name": "Read",
"tool_input": {
"file_path": "\/var\/www\/dev.campus.systemische-tools.de\/src\/Controller\/SystemExplorerController.php",
"offset": 135,
"limit": 90
}
}
{
"tool_response": {
"type": "text",
"file": {
"filePath": "\/var\/www\/dev.campus.systemische-tools.de\/src\/Controller\/SystemExplorerController.php",
"content": " }\n\n \/**\n * GET \/explorer\/seiten\/{id}\n * Seiten-Details mit Chunks\n *\/\n public function seiteShow(int $id): void\n {\n $stmt = $this->db->prepare(\n 'SELECT s.*, p.title as parent_title, p.path as parent_path\n FROM dokumentation s\n LEFT JOIN dokumentation p ON s.parent_id = p.id\n WHERE s.id = :id'\n );\n $stmt->execute(['id' => $id]);\n $seite = $stmt->fetch();\n\n if ($seite === false) {\n $this->notFound('Seite nicht gefunden');\n }\n\n \/\/ Chunks dieser Seite\n $stmt = $this->db->prepare(\n 'SELECT c.id, c.chunk_index, c.content, c.token_count, c.taxonomy_category,\n c.taxonomy_path, c.entities, c.keywords, c.analysis_status, c.qdrant_id,\n c.heading_path, c.analyzed_at\n FROM dokumentation_chunks c\n WHERE c.dokumentation_id = :id\n ORDER BY c.chunk_index'\n );\n $stmt->execute(['id' => $id]);\n $chunks = $stmt->fetchAll();\n\n \/\/ Unterseiten (falls depth=1)\n $stmt = $this->db->prepare(\n 'SELECT id, title, path, depth FROM dokumentation WHERE parent_id = :id ORDER BY title'\n );\n $stmt->execute(['id' => $id]);\n $unterseiten = $stmt->fetchAll();\n\n \/\/ Breadcrumb aufbauen\n $breadcrumb = $this->buildBreadcrumb($seite);\n\n $this->view('system-explorer.seiten.show', [\n 'title' => $seite['title'],\n 'seite' => $seite,\n 'chunks' => $chunks,\n 'unterseiten' => $unterseiten,\n 'breadcrumb' => $breadcrumb,\n ]);\n }\n\n \/**\n * GET \/explorer\/chunks\n * Liste aller Chunks mit Filtern\n *\/\n public function chunks(): void\n {\n $category = $this->getString('category');\n $status = $this->getString('status');\n $search = $this->getString('search');\n $pagination = Pagination::fromRequest(50);\n\n $sql = 'SELECT c.id, c.chunk_index, c.content, c.token_count, c.taxonomy_category,\n c.analysis_status, c.qdrant_id, c.created_at,\n d.title as dokument_title, d.path as dokument_path\n FROM dokumentation_chunks c\n JOIN dokumentation d ON c.dokumentation_id = d.id\n WHERE 1=1';\n\n $countSql = 'SELECT COUNT(*) FROM dokumentation_chunks c\n JOIN dokumentation d ON c.dokumentation_id = d.id\n WHERE 1=1';\n\n $params = [];\n\n if ($category !== '') {\n $sql .= ' AND c.taxonomy_category = :category';\n $countSql .= ' AND c.taxonomy_category = :category';\n $params['category'] = $category;\n }\n\n if ($status !== '') {\n $sql .= ' AND c.analysis_status = :status';\n $countSql .= ' AND c.analysis_status = :status';\n $params['status'] = $status;\n }\n\n if ($search !== '') {\n $sql .= ' AND (c.content LIKE :search OR c.keywords LIKE :search2)';",
"numLines": 90,
"startLine": 135,
"totalLines": 373
}
}
}