Files
wevads-arsenal/public/knowledge-base-raw.php

35 lines
1.7 KiB
PHP

<?php
header('Content-Type: application/json');
$pdo = new PDO("pgsql:host=localhost;dbname=adx_system", "admin", "admin123", [PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION]);
$action = $_GET['action'] ?? $_POST['action'] ?? '';
switch ($action) {
case 'stats':
$total = $pdo->query("SELECT COUNT(*) FROM admin.knowledge_base")->fetchColumn();
$categories = $pdo->query("SELECT category, COUNT(*) as count FROM admin.knowledge_base GROUP BY category ORDER BY count DESC")->fetchAll(PDO::FETCH_ASSOC);
echo json_encode(['total' => $total, 'by_category' => $categories]);
break;
case 'search':
$q = $_GET['q'] ?? '';
$results = $pdo->query("SELECT id, title, category, content FROM admin.knowledge_base WHERE title ILIKE '%$q%' OR content ILIKE '%$q%' LIMIT 10")->fetchAll(PDO::FETCH_ASSOC);
echo json_encode(['results' => $results]);
break;
case 'get':
$id = $_GET['id'] ?? 0;
$entry = $pdo->query("SELECT * FROM admin.knowledge_base WHERE id = $id")->fetch(PDO::FETCH_ASSOC);
echo json_encode($entry ?: ['error' => 'Not found']);
break;
case 'add':
$title = $_POST['title'] ?? '';
$category = $_POST['category'] ?? '';
$content = $_POST['content'] ?? '';
$pdo->prepare("INSERT INTO admin.knowledge_base (title, category, content) VALUES (?, ?, ?)")->execute([$title, $category, $content]);
echo json_encode(['success' => true, 'id' => $pdo->lastInsertId()]);
break;
default:
echo json_encode(['name' => 'Knowledge Base API', 'actions' => ['stats', 'search', 'get', 'add'], 'entries' => $pdo->query("SELECT COUNT(*) FROM admin.knowledge_base")->fetchColumn()]);
}