/** @test */ public function it_can_return_recent_user_messsages() { $users = $this->createUsers(4); $conversation = Chat::createConversation([$users[0]->id, $users[1]->id]); Chat::send($conversation->id, 'Hello 1', $users[1]->id); Chat::send($conversation->id, 'Hello 2', $users[0]->id); $conversation2 = Chat::createConversation([$users[0]->id, $users[2]->id]); Chat::send($conversation2->id, 'Hello Man 4', $users[0]->id); Chat::send($conversation2->id, 'Hello Man 3', $users[2]->id); $conversation3 = Chat::createConversation([$users[0]->id, $users[3]->id]); Chat::send($conversation3->id, 'Hello Man 5', $users[3]->id); Chat::send($conversation3->id, 'Hello Man 6', $users[0]->id); $recent_messages = Chat::conversations($users[0]->id); $this->assertEquals($recent_messages[0]['sender']['id'], $users[0]->id); $this->assertEquals($recent_messages[1]['sender']['id'], $users[2]->id); $this->assertCount(3, $recent_messages); }
exit; } if ($chat->is_chat_blocked_by_exercises()) { // Disconnecting the user $chat->setUserStatus(0); exit; } switch ($action) { case 'chatheartbeat': $chat->heartbeat(); break; case 'closechat': $chat->close(); break; case 'sendchat': $chat->send(api_get_user_id(), $to_user_id, $message); break; case 'startchatsession': $chat->startSession(); break; case 'set_status': $status = isset($_REQUEST['status']) ? intval($_REQUEST['status']) : 0; $chat->setUserStatus($status); break; case 'start_video': $room = VideoChat::getChatRoomByUsers(api_get_user_id(), $to_user_id); if ($room !== false) { $videoChatLink = Display::url(Display::tag('i', null, ['class' => 'fa fa-video-camera']) . " " . get_lang('StartVideoChat'), api_get_path(WEB_LIBRARY_JS_PATH) . "chat/video.php?room={$room['room_name']}"); $chat->send(api_get_user_id(), $to_user_id, $videoChatLink, false); echo Display::tag('p', $videoChatLink, ['class' => 'lead']); break;
} if (!isset($_SESSION['openChatBoxes'])) { $_SESSION['openChatBoxes'] = array(); } $chat = new Chat(); if ($chat->is_chat_blocked_by_exercises()) { // Disconnect the user $chat->set_user_status(0); exit; } switch ($action) { case 'chatheartbeat': $chat->heartbeat(); break; case 'closechat': $chat->close(); break; case 'sendchat': $chat->send(api_get_user_id(), $to_user_id, $message); break; case 'startchatsession': $chat->start_session(); break; case 'set_status': $status = isset($_REQUEST['status']) ? intval($_REQUEST['status']) : 0; $chat->set_user_status($status); break; default: echo ''; } exit;