{
"event": "PreToolUse",
"tool_name": "Read",
"tool_input": {
"file_path": "\/var\/www\/dev.campus.systemische-tools.de\/src\/Controller\/CrawlerTriggerController.php"
}
}
{
"tool_response": {
"type": "text",
"file": {
"filePath": "\/var\/www\/dev.campus.systemische-tools.de\/src\/Controller\/CrawlerTriggerController.php",
"content": "<?php\n\ndeclare(strict_types=1);\n\nnamespace Controller;\n\n\/\/ @responsibility: HTTP-Endpunkt zum Start eines neuen Crawls via CLI-Backend\n\nuse Framework\\Controller;\n\nclass CrawlerTriggerController extends Controller\n{\n private const string CLI_BINARY = '\/var\/www\/dev.campus.systemische-tools.de\/crawler\/venv\/bin\/python';\n private const string CLI_MODULE = 'src.interfaces.cli.main';\n private const string WORKING_DIR = '\/var\/www\/dev.campus.systemische-tools.de\/crawler';\n\n public function trigger(): void\n {\n $this->requireCsrf();\n $baseUrl = $this->getString('base_url', '');\n $mode = $this->getString('mode', 'fast');\n if ($baseUrl === '') {\n $this->htmxError('base_url ist erforderlich');\n\n return;\n }\n $cmd = sprintf(\n '(cd %s && %s -m %s crawl --base-url %s --mode %s) > \/dev\/null 2>&1 &',\n escapeshellarg(self::WORKING_DIR),\n escapeshellarg(self::CLI_BINARY),\n escapeshellarg(self::CLI_MODULE),\n escapeshellarg($baseUrl),\n escapeshellarg($mode),\n );\n exec($cmd);\n $this->htmxSuccess('Crawl gestartet: ' . htmlspecialchars($baseUrl));\n }\n}\n",
"numLines": 39,
"startLine": 1,
"totalLines": 39
}
}
}