|
|
|
|
@ -69,62 +69,21 @@ switch ($action) { |
|
|
|
|
$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::returnFontAswesomeIcon('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, |
|
|
|
|
false |
|
|
|
|
); |
|
|
|
|
|
|
|
|
|
echo Display::tag('p', $videoChatLink, ['class' => 'lead']); |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
$form = new FormValidator('start_video_chat'); |
|
|
|
|
$form->addText('chat_room_name', get_lang('ChatRoomName'), false); |
|
|
|
|
$form->addHidden('to', $to_user_id); |
|
|
|
|
$form->addButtonSend(get_lang('Create')); |
|
|
|
|
|
|
|
|
|
$template = new Template(); |
|
|
|
|
$template->assign('form', $form->returnForm()); |
|
|
|
|
|
|
|
|
|
echo $template->fetch('default/javascript/chat/start_video.tpl'); |
|
|
|
|
break; |
|
|
|
|
case 'create_room': |
|
|
|
|
$room = VideoChat::getChatRoomByUsers(api_get_user_id(), $to_user_id); |
|
|
|
|
$createdRoom = false; |
|
|
|
|
|
|
|
|
|
if ($room === false) { |
|
|
|
|
$roomName = isset($_REQUEST['room_name']) ? Security::remove_XSS($_REQUEST['room_name']) : null; |
|
|
|
|
|
|
|
|
|
if (VideoChat::nameExists($roomName)) { |
|
|
|
|
echo Display::return_message(get_lang('TheVideoChatRoomXNameAlreadyExists'), 'error'); |
|
|
|
|
$createdRoom = VideoChat::createRoom(api_get_user_id(), $to_user_id); |
|
|
|
|
|
|
|
|
|
if ($createdRoom === false) { |
|
|
|
|
echo Display::return_message(get_lang('ChatRoomNotCreated'), 'error'); |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
$createdRoom = VideoChat::createRoom($roomName, api_get_user_id(), $to_user_id); |
|
|
|
|
} else { |
|
|
|
|
$roomName = $room['room_name']; |
|
|
|
|
$createdRoom = true; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if ($createdRoom === false) { |
|
|
|
|
echo Display::return_message(get_lang('ChatRoomNotCreated'), 'error'); |
|
|
|
|
break; |
|
|
|
|
$room = VideoChat::getChatRoomByUsers(api_get_user_id(), $to_user_id); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
$videoChatUrl = api_get_path(WEB_LIBRARY_JS_PATH) . "chat/video.php?room=$roomName"; |
|
|
|
|
$videoChatUrl = api_get_path(WEB_LIBRARY_JS_PATH) . "chat/video.php?room={$room['room_name']}"; |
|
|
|
|
$videoChatLink = Display::url( |
|
|
|
|
Display::returnFontAswesomeIcon('video-camera') . get_lang('StartVideoChat'), |
|
|
|
|
$videoChatUrl |
|
|
|
|
@ -138,10 +97,12 @@ switch ($action) { |
|
|
|
|
false |
|
|
|
|
); |
|
|
|
|
|
|
|
|
|
echo json_encode([ |
|
|
|
|
'name' => $roomName, |
|
|
|
|
'url' => $videoChatUrl |
|
|
|
|
]); |
|
|
|
|
$videoChatLink = Display::url( |
|
|
|
|
Display::returnFontAswesomeIcon('video-camera') . get_lang('StartVideoChat'), |
|
|
|
|
api_get_path(WEB_LIBRARY_JS_PATH) . "chat/video.php?room={$room['room_name']}" |
|
|
|
|
); |
|
|
|
|
|
|
|
|
|
echo Display::tag('p', $videoChatLink, ['class' => 'lead']); |
|
|
|
|
break; |
|
|
|
|
case 'notify_not_support': |
|
|
|
|
$chat->send(api_get_user_id(), $to_user_id, get_lang('TheXUserBrowserDoesNotSupportWebRTC')); |
|
|
|
|
|