From 064856024638bae780dae49a25af8917c8db46ee Mon Sep 17 00:00:00 2001 From: Angel Fernando Quiroz Campos Date: Wed, 23 Sep 2015 08:53:27 -0500 Subject: [PATCH] Enter to video chat by its ID instead of by name - refs #7558 --- main/inc/ajax/chat.ajax.php | 7 +------ main/inc/lib/VideoChat.php | 18 ------------------ main/inc/lib/javascript/chat/video.php | 20 ++++++++++---------- 3 files changed, 11 insertions(+), 34 deletions(-) diff --git a/main/inc/ajax/chat.ajax.php b/main/inc/ajax/chat.ajax.php index 2054195a7a..1b927b5728 100755 --- a/main/inc/ajax/chat.ajax.php +++ b/main/inc/ajax/chat.ajax.php @@ -83,7 +83,7 @@ switch ($action) { $room = VideoChat::getChatRoomByUsers(api_get_user_id(), $to_user_id); } - $videoChatUrl = api_get_path(WEB_LIBRARY_JS_PATH) . "chat/video.php?room={$room['room_name']}"; + $videoChatUrl = api_get_path(WEB_LIBRARY_JS_PATH) . "chat/video.php?room={$room['id']}"; $videoChatLink = Display::url( Display::returnFontAswesomeIcon('video-camera') . get_lang('StartVideoChat'), $videoChatUrl @@ -97,11 +97,6 @@ switch ($action) { 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']}" - ); - echo Display::tag('p', $videoChatLink, ['class' => 'lead']); break; case 'notify_not_support': diff --git a/main/inc/lib/VideoChat.php b/main/inc/lib/VideoChat.php index b2305314e7..a4ba18b14c 100644 --- a/main/inc/lib/VideoChat.php +++ b/main/inc/lib/VideoChat.php @@ -90,22 +90,4 @@ class VideoChat return false; } - /** - * Get the video chat info by its room name - * @param string $name The video chat name - * - * @return array The video chat info. Otherwise return false - */ - public static function getChatRoomByName($name) - { - return Database::select( - '*', - Database::get_main_table(TABLE_MAIN_CHAT_VIDEO), - [ - 'where' => ['room_name = ?' => $name] - ], - 'first' - ); - } - } diff --git a/main/inc/lib/javascript/chat/video.php b/main/inc/lib/javascript/chat/video.php index 30923e8b6e..3421b15ff8 100644 --- a/main/inc/lib/javascript/chat/video.php +++ b/main/inc/lib/javascript/chat/video.php @@ -6,19 +6,20 @@ if (api_is_anonymous()) { api_not_allowed(true); } -$roomName = isset($_GET['room']) ? $_GET['room'] : null; +$roomId = isset($_GET['room']) ? $_GET['room'] : null; -$room = VideoChat::getChatRoomByName($roomName); +$entityManager = Database::getManager(); -if ($room === false) { +$chatVideo = $entityManager->find('ChamiloCoreBundle:ChatVideo', $roomId); + +if (!$chatVideo) { header('Location: '.api_get_path(WEB_PATH)); exit; } $friend_html = SocialManager::listMyFriendsBlock($user_id, '', false); - -$isSender = $room['from_user'] == api_get_user_id(); -$isReceiver = $room['to_user'] == api_get_user_id(); +$isSender = $chatVideo->getFromUser() === api_get_user_id(); +$isReceiver = $chatVideo->getToUser() === api_get_user_id(); if (!$isSender && !$isReceiver) { header('Location: '.api_get_path(WEB_PATH)); @@ -26,9 +27,9 @@ if (!$isSender && !$isReceiver) { } if ($isSender) { - $chatUser = api_get_user_info($room['to_user']); + $chatUser = api_get_user_info($chatVideo->getToUser()); } elseif ($isReceiver) { - $chatUser = api_get_user_info($room['from_user']); + $chatUser = api_get_user_info($chatVideo->getFromUser()); } $idUserLocal = api_get_user_id(); $userLocal = api_get_user_info($idUserLocal, true); @@ -37,7 +38,6 @@ $htmlHeadXtra[] = '' . "\n"; $template = new Template(); -$template->assign('room', $room); $template->assign('chat_user', $chatUser); $template->assign('user_local', $userLocal); $template->assign('block_friends', $friend_html); @@ -45,7 +45,7 @@ $template->assign('block_friends', $friend_html); $content = $template->fetch('default/chat/video.tpl'); $templateHeader = Display::returnFontAswesomeIcon('video-camera', true, 'lg') - . $room['room_name']; + . $chatVideo->getRoomName(); $template->assign('header', $templateHeader); $template->assign('content', $content);