Ejemplo n.º 1
0
}
$chat = new Chat();
if (chat::disableChat()) {
    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']}");
Ejemplo n.º 2
0
$db = new Database($dbHost, $dbUser, $dbPassword, $dbName);
$c = new Chat($db);
$req = new RequestHandler();
$json = new JsonSender(true);
// Check that a user is logged in.
$loggedIn = $session->getUser();
if ($loggedIn === NULL) {
    throw new RuntimeException("No user is logged in.");
}
// Insert submitted message.
if (!$req->check("message")) {
    throw new RuntimeException("No chat message given.");
}
$msg = $req->getString("message");
$c->submitMessage($loggedIn, $msg);
// Query for messages and send them.
$obj = $json->sendObject();
$arr = $obj->sendArray("messages");
if ($req->check("since")) {
    $c->queryNew($arr, $req->getInteger("since"));
} else {
    $c->queryNew($arr);
}
$arr->close();
$obj->close();
// Close everything.
$json->close();
$req->close();
$c->close();
$db->close();
$session->close();