'Forbidden'])); } $user = checkAuth($pdo); if (!$user) { http_response_code(401); exit(json_encode(['error' => 'Unauthorized'])); } $query = trim($_GET['q'] ?? ''); if (strlen($query) < 2) { exit(json_encode([])); } // Используем полнотекстовый поиск $results = searchLocalKnowledgeFulltext($pdo, $query, 50); $output = []; foreach ($results as $row) { $output[] = [ 'id' => $row['id'], 'title' => htmlspecialchars($row['title']), 'preview' => htmlspecialchars($row['preview']), 'updated_at' => date('d.m.Y', strtotime($row['updated_at'])) ]; } echo json_encode($output); exit;