This commit is contained in:
Lukas Reschke 2016-09-21 16:39:14 +02:00
Родитель 5eac42937a
Коммит b0a0097d5f
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: B9F6980CF6E759B1
6 изменённых файлов: 58 добавлений и 9 удалений

Просмотреть файл

@ -28,7 +28,6 @@ video {
position: relative;
width: 50%;
float: left;
border-radius: none;
}
.videoView {

Просмотреть файл

@ -50,9 +50,9 @@ $(window).load(function() {
// If the hash changes a room gets joined
$(window).on('hashchange', function() {
OCA.SpreedMe.Rooms.join(window.location.hash.substring(1));
$('#emptycontent').hide();
$('.videoView').addClass('hidden');
$('#app-content').addClass('icon-loading');
});
if(window.location.hash.substring(1) === '') {
OCA.SpreedMe.Rooms.join();
}
});

Просмотреть файл

@ -9,6 +9,9 @@
OC.generateUrl('/apps/spreed/api/room'),
{
roomName: roomName
},
function(roomId) {
OCA.SpreedMe.Rooms.join(roomId);
}
);
},
@ -23,9 +26,12 @@
$('#app-navigation').removeClass('icon-loading');
}
});
},
join: function(roomId) {
$('#emptycontent').hide();
$('.videoView').addClass('hidden');
$('#app-content').addClass('icon-loading');
currentRoomId = roomId;
webrtc.joinRoom(roomId);
OCA.SpreedMe.Rooms.ping();

Просмотреть файл

@ -64,12 +64,50 @@ class ApiController extends Controller {
}
/**
* @return array
*/
private function getAllRooms() {
$qb = $this->dbConnection->getQueryBuilder();
return $qb->select('*')
->from('spreedme_rooms')
->execute()
->fetchAll();
}
/**
* @param int $roomId
*/
private function deleteRoom($roomId) {
$qb = $this->dbConnection->getQueryBuilder();
$qb->delete('spreedme_rooms')
->where($qb->expr()->eq('id', $qb->createNamedParameter($roomId)))
->execute();
}
/**
* Checks for all empty rooms and deletes them
*/
private function deleteEmptyRooms() {
$rooms = $this->getAllRooms();
foreach($rooms as $room) {
$activePeers = $this->getActivePeers($room['id']);
if(count($activePeers) === 0) {
//$this->deleteRoom($room['id']);
}
}
}
/**
* Get all currently existent rooms
*
* @NoAdminRequired
* @NoCSRFRequired
*
* @return JSONResponse
*/
public function getRooms() {
$this->deleteEmptyRooms();
$qb = $this->dbConnection->getQueryBuilder();
$rooms = $qb->select('*')
->from('spreedme_rooms')
@ -94,9 +132,13 @@ class ApiController extends Controller {
[
'name' => $qb->createNamedParameter($roomName),
]
)
->execute();
return new JSONResponse();
)->execute();
return new JSONResponse(
[
'roomId' => $qb->getLastInsertId(),
]
);
}
/**

Просмотреть файл

@ -72,7 +72,7 @@ class PageController extends Controller {
$response = new TemplateResponse($this->appName, 'index', $params);
$csp = new ContentSecurityPolicy();
$csp->addAllowedConnectDomain('*');
$csp->addAllowedMediaDOmain('blob:');
$csp->addAllowedMediaDomain('blob:');
$response->setContentSecurityPolicy($csp);
return $response;
}

Просмотреть файл

@ -40,6 +40,8 @@ script(
<div class="nameIndicator">
<button id="mute" class="icon-audio-white" data-title="<?php p($l->t('Mute audio')) ?>"></button>
<button id="hideVideo" class="icon-video-white" data-title="<?php p($l->t('Pause video')) ?>"></button>
<button id="video-more" class="icon-more" data-title="<?php p($l->t('Pause video')) ?>"></button>
</div>
</div>
<div id="remotes" style="display: inline"></div>