Sindbad~EG File Manager
<?php
/**
* Admin Chat Reply API
* Admin sends reply to member conversation
*/
require_once '../config/config.php';
header('Content-Type: application/json');
// Check if user is logged in and has admin access
if (!isLoggedIn()) {
echo json_encode(['success' => false, 'message' => 'Unauthorized']);
exit;
}
$userAccessLevel = $_SESSION['access_level'] ?? '';
if (!in_array($userAccessLevel, ['superuser', 'admin', 'regional_admin', 'district_admin'])) {
echo json_encode(['success' => false, 'message' => 'Access denied']);
exit;
}
if ($_SERVER['REQUEST_METHOD'] !== 'POST') {
echo json_encode(['success' => false, 'message' => 'Invalid request method']);
exit;
}
$conversationId = (int)($_POST['conversation_id'] ?? 0);
$message = trim($_POST['message'] ?? '');
if (!$conversationId || !$message) {
echo json_encode(['success' => false, 'message' => 'Missing required fields']);
exit;
}
try {
$db = Database::getInstance()->getConnection();
// Verify conversation exists
$stmt = $db->prepare("SELECT id FROM conversations WHERE id = ?");
$stmt->execute([$conversationId]);
if (!$stmt->fetch()) {
echo json_encode(['success' => false, 'message' => 'Conversation not found']);
exit;
}
// Insert admin message
$stmt = $db->prepare("
INSERT INTO chat_messages (
conversation_id,
sender_type,
sender_id,
message_text,
created_at
) VALUES (?, 'admin', ?, ?, NOW())
");
$stmt->execute([
$conversationId,
$_SESSION['user_id'] ?? null,
$message
]);
// Update conversation timestamp
$stmt = $db->prepare("UPDATE conversations SET updated_at = NOW() WHERE id = ?");
$stmt->execute([$conversationId]);
// Mark all visitor messages as read
$stmt = $db->prepare("
UPDATE chat_messages
SET is_read = 1
WHERE conversation_id = ?
AND sender_type != 'admin'
");
$stmt->execute([$conversationId]);
echo json_encode([
'success' => true,
'message' => 'Reply sent successfully'
]);
} catch (Exception $e) {
error_log("Admin chat reply error: " . $e->getMessage());
echo json_encode([
'success' => false,
'message' => 'Failed to send reply'
]);
}
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists