Files
wevads-platform/scripts/hamid-history.php
2026-02-26 04:53:11 +01:00

48 lines
1.8 KiB
PHP
Executable File

<?php
header('Content-Type: application/json');
$pdo = new PDO('pgsql:host=localhost;dbname=adx_system', 'admin', 'admin123');
$pdo->exec("CREATE TABLE IF NOT EXISTS hamid_conversations (
id SERIAL PRIMARY KEY, session_id VARCHAR(100), title VARCHAR(255),
created_at TIMESTAMP DEFAULT NOW(), updated_at TIMESTAMP DEFAULT NOW()
)");
$pdo->exec("CREATE TABLE IF NOT EXISTS hamid_messages (
id SERIAL PRIMARY KEY, conversation_id INT, role VARCHAR(20), content TEXT,
provider VARCHAR(50), created_at TIMESTAMP DEFAULT NOW()
)");
$action = $_POST['action'] ?? $_GET['action'] ?? '';
switch ($action) {
case 'new_conversation':
$stmt = $pdo->prepare("INSERT INTO hamid_conversations (session_id, title) VALUES (?, ?)");
$stmt->execute([uniqid('conv_'), $_POST['title'] ?? 'Nouvelle conversation']);
echo json_encode(['success' => true, 'id' => $pdo->lastInsertId()]);
break;
case 'list_conversations':
$convs = $pdo->query("SELECT * FROM hamid_conversations ORDER BY updated_at DESC LIMIT 20")->fetchAll(PDO::FETCH_ASSOC);
echo json_encode(['conversations' => $convs]);
break;
case 'search':
$q = $_GET['q'] ?? '';
$results = $pdo->query("SELECT * FROM hamid_messages WHERE content ILIKE '%$q%' LIMIT 20")->fetchAll(PDO::FETCH_ASSOC);
echo json_encode(['results' => $results]);
break;
case 'stats':
$stats = [
'conversations' => $pdo->query("SELECT COUNT(*) FROM hamid_conversations")->fetchColumn(),
'messages' => $pdo->query("SELECT COUNT(*) FROM hamid_messages")->fetchColumn()
];
echo json_encode($stats);
break;
default:
echo json_encode(['actions' => ['new_conversation', 'list_conversations', 'search', 'stats']]);
}