From 75cd2475dd5437488db6c406621c61b75d56b9a0 Mon Sep 17 00:00:00 2001
From: Jonas
Date: Wed, 18 Aug 2021 09:45:30 +0200
Subject: [PATCH] feat: add admin settings for default skip media
---
lib/Service/RoomService.php | 14 +++++++++++++-
lib/Settings/Admin.php | 1 +
templates/admin.php | 8 ++++++++
3 files changed, 22 insertions(+), 1 deletion(-)
diff --git a/lib/Service/RoomService.php b/lib/Service/RoomService.php
index d662009..475bfdf 100644
--- a/lib/Service/RoomService.php
+++ b/lib/Service/RoomService.php
@@ -12,19 +12,25 @@ use OCA\BigBlueButton\Event\RoomDeletedEvent;
use OCP\AppFramework\Db\DoesNotExistException;
use OCP\AppFramework\Db\MultipleObjectsReturnedException;
use OCP\EventDispatcher\IEventDispatcher;
+use OCP\IConfig;
class RoomService {
/** @var RoomMapper */
private $mapper;
+ /** @var IConfig */
+ private $config;
+
/** @var IEventDispatcher */
private $eventDispatcher;
public function __construct(
RoomMapper $mapper,
+ IConfig $config,
IEventDispatcher $eventDispatcher) {
$this->mapper = $mapper;
+ $this->config = $config;
$this->eventDispatcher = $eventDispatcher;
}
@@ -76,6 +82,12 @@ class RoomService {
public function create(string $name, string $welcome, int $maxParticipants, bool $record, string $access, string $userId): \OCP\AppFramework\Db\Entity {
$room = new Room();
+ if($this->config->getAppValue('bbb', 'join.defaultMedia') === 'true') {
+ $media = false;
+ } else {
+ $media = true;
+ }
+
$room->setUid(\OC::$server->getSecureRandom()->generate(16, \OCP\Security\ISecureRandom::CHAR_HUMAN_READABLE));
$room->setName($name);
$room->setWelcome($welcome);
@@ -86,7 +98,7 @@ class RoomService {
$room->setAccess($access);
$room->setUserId($userId);
$room->setListenOnly(true);
- $room->setMediaCheck(true);
+ $room->setMediaCheck($media);
$room->setCleanLayout(false);
$room->setJoinMuted(false);
diff --git a/lib/Settings/Admin.php b/lib/Settings/Admin.php
index 4be6ff2..c938f0e 100644
--- a/lib/Settings/Admin.php
+++ b/lib/Settings/Admin.php
@@ -30,6 +30,7 @@ class Admin implements ISettings {
'app.navigation' => $this->config->getAppValue('bbb', 'app.navigation') === 'true' ? 'checked' : '',
'join.theme' => $this->config->getAppValue('bbb', 'join.theme') === 'true' ? 'checked' : '',
'app.shortener' => $this->config->getAppValue('bbb', 'app.shortener'),
+ 'join.defaultMedia' => $this->config->getAppValue('bbb', 'join.defaultMedia') === 'true' ? 'checked' : '',
];
return new TemplateResponse('bbb', 'admin', $parameters);
diff --git a/templates/admin.php b/templates/admin.php
index 7d2641a..a9e4864 100644
--- a/templates/admin.php
+++ b/templates/admin.php
@@ -29,6 +29,14 @@ script('bbb', 'restrictions');
+ t('Default Room Settings')); ?>
+ t('Below you can change some default values, which are used to create a new room.')); ?>
+
+
+ />
+
+
+
t('Community')); ?>
t('Are you enjoying this app? Give something back to the open source community.')); ?> t('Checkout the contributor guide')); ?>