Sindbad~EG File Manager
<?php
require_once '../config/config.php';
require_once '../classes/MemberAuth.php';
header('Content-Type: application/json');
if ($_SERVER['REQUEST_METHOD'] !== 'POST') {
http_response_code(405);
echo json_encode(['success' => false, 'error' => 'Method not allowed']);
exit;
}
$conversationId = (int)($_POST['conversation_id'] ?? 0);
$messageText = trim($_POST['message'] ?? '');
if ($conversationId <= 0 || $messageText === '') {
echo json_encode(['success' => false, 'error' => 'Invalid data']);
exit;
}
try {
$db = Database::getInstance()->getConnection();
// Determine sender type
$senderType = 'guest';
$senderMemberId = null;
$senderUserId = null;
if (function_exists('isLoggedIn') && isLoggedIn()) {
// Admin user
$senderType = 'admin';
$senderUserId = $_SESSION['user_id'] ?? null;
} elseif (class_exists('MemberAuth') && MemberAuth::isMemberLoggedIn()) {
// Member portal
$senderType = 'member';
$currentMember = MemberAuth::getCurrentMember();
$senderMemberId = $currentMember['member_id'] ?? null;
}
$stmt = $db->prepare("INSERT INTO chat_messages (
conversation_id, sender_type, sender_member_id, sender_user_id, message_text, created_at
) VALUES (
:conversation_id, :sender_type, :sender_member_id, :sender_user_id, :message_text, NOW()
)");
$stmt->execute([
'conversation_id' => $conversationId,
'sender_type' => $senderType,
'sender_member_id' => $senderMemberId,
'sender_user_id' => $senderUserId,
'message_text' => $messageText
]);
echo json_encode(['success' => true]);
} catch (Exception $e) {
http_response_code(500);
echo json_encode(['success' => false, 'error' => 'Failed to send message.']);
}
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists