mirror of https://github.com/sualko/cloud_bbb
Compare commits
3 Commits
a02071c690
...
90c7cb91fa
Author | SHA1 | Date |
---|---|---|
Jonas | 90c7cb91fa | |
Nextcloud bot | 2f288e34c0 | |
brtbr | 668a711dfa |
|
@ -79,6 +79,7 @@ Key | Description
|
|||
`app.shortener` | Value of your shortener service. Should start with `https://` and contain `{token}`.
|
||||
`avatar.path` | Absolute path to an optional avatar cache directory.
|
||||
`avatar.url` | URL which serves `avatar.path` to be used as avatar cache.
|
||||
`avatar.enabled` | Set to `false` if you want to disable the use of Nextcloud avatars in BBB rooms.
|
||||
|
||||
### Avatar cache (v2.2+)
|
||||
The generation of avatars puts a high load on your Nextcloud instance, since the
|
||||
|
@ -113,8 +114,8 @@ For additional security, we recommend to disable directory listing, symlinks and
|
|||
any language interpreter such as php for the cache directory.
|
||||
|
||||
Cached avatars are usually deleted as soon as the meeting ends. In cases the BBB
|
||||
server shuts down unexpected, we provide the `bbb:clear-avatar-cache` occ
|
||||
command (example use: `./occ bbb:clear-avatar-cache`).
|
||||
server shuts down unexpected or you set `avatar.enabled` to `false` (via gui or manually) while a meeting was running,
|
||||
we provide the `bbb:clear-avatar-cache` occ command (example use: `./occ bbb:clear-avatar-cache`).
|
||||
|
||||
|
||||
## :bowtie: User guide
|
||||
|
|
|
@ -58,6 +58,7 @@ OC.L10N.register(
|
|||
"No matches" : "Nessuna corrispondenza",
|
||||
"admin" : "amministratore",
|
||||
"moderator" : "moderatore",
|
||||
"user" : "utente",
|
||||
"Name" : "Nome",
|
||||
"Access" : "Accesso",
|
||||
"Max" : "Massimo",
|
||||
|
@ -71,6 +72,7 @@ OC.L10N.register(
|
|||
"This message is shown to all users in the chat area after they joined." : "Questo messaggio è mostrato a tutti gli utenti nell'area di chat dopo il loro ingresso.",
|
||||
"Sets a limit on the number of participants for this room. Zero means there is no limit." : "Imposta un limite sul numero di partecipanti per questa stanza. Zero significa che non ci sono limiti.",
|
||||
"If enabled, the moderator is able to start the recording." : "Se abilitata, il moderatore è in grado di avviare la registrazione.",
|
||||
"Explanation of the different concepts that constitute access options :<br>- Public: Anyone who has the link can join.- <br>Internal: Only Nextcloud users can join.- <br>Password: Only guests who have the password can join..- <br>Waiting room: A moderator must accept each guest before they can join.- <br>Restricted : Only selected users and groups can access this room." : "Spiegazione dei diversi concetti che costituiscono le opzioni di accesso :<br>- Pubblico: chiunque abbia il link può partecipare.- <br>Interno: possono partecipare solo gli utenti Nextcloud.- <br>Password: solo gli ospiti che hanno la password possono partecipare..- <br>Sala d'attesa: Un moderatore deve accettare ogni ospite prima che possa partecipare.- <br>Limitato: solo gli utenti e i gruppi selezionati possono accedere a questa stanza.",
|
||||
"A moderator is able to manage all participants in a meeting including kicking, muting or selecting a presenter. Users with the role moderator are also able to close a meeting or change the default settings." : "Un moderatore è in grado di gestire tutti i partecipanti a una riunione, inclusa l'espulsione, il silenziamento o la selezione di un relatore. Gli utenti con il ruolo di moderatore possono anche chiudere una riunione o modificare le impostazioni predefinite.",
|
||||
"If enabled, normal users have to wait until a moderator is in the room." : "Se abilitata, gli utenti normali devono attendere fino a quando un moderatore è nella stanza.",
|
||||
"If enabled, a moderator URL is generated which allows access with moderator permission." : "Se abilitata, viene generato un URL moderatore che consente l'accesso con l'autorizzazione del moderatore.",
|
||||
|
@ -114,7 +116,10 @@ OC.L10N.register(
|
|||
"Delete?" : "Vuoi eliminare?",
|
||||
"Could not delete record" : "Impossibile eliminare il record",
|
||||
"Server error" : "Errore del server",
|
||||
"Could not modify publishing state" : "Impossibile modificare lo stato di pubblicazione",
|
||||
"Open room" : "Stanza aperta",
|
||||
"Start" : "Avvia",
|
||||
"Clone room" : "Clona stanza",
|
||||
"Loading" : "Caricamento",
|
||||
"You are not allowed to change this option, because this room is shared with you." : "Non ti è consentito modificare questa opzione, poiché questa stanza è condivisa con te.",
|
||||
"Max. rooms" : "Num. massimo stanze",
|
||||
|
@ -130,8 +135,12 @@ OC.L10N.register(
|
|||
"URL has to start with HTTPS" : "L'URL deve iniziare con HTTPS",
|
||||
"URL has to contain the {token} placeholder" : "L'URL deve contenere il segnaposto {token}",
|
||||
"URL has to start with https:// and contain {token}. Additionally the {user} placeholder can be used." : "L'URL deve iniziare con https: // e contenere {token}. Inoltre è possibile utilizzare il segnaposto {user}.",
|
||||
"The file \"{filename}\" was uploaded to your room." : "Il file \"{filename}\" è stato caricato nella tua stanza.",
|
||||
"The file \"{filename}\" could not be uploaded to your room." : "Il file \"{filename}\" non è stato possibile caricarlo nella tua stanza.",
|
||||
"The file \"{filename}\" could not be uploaded to your room. Maybe your BigBlueButton server does not support this action." : "Il file \"{filename}\" non può essere caricato nella tua stanza. Forse il tuo server BigBlueButton non supporta questa azione.",
|
||||
"Send file to BBB" : "Invia file a BBB",
|
||||
"Send to" : "Invia a",
|
||||
"Start with" : "Inizia con",
|
||||
"Please select the room in which you like to use the file \"{filename}\"." : "Seleziona la stanza in cui vorresti usare il file \"{filename}\".",
|
||||
"No rooms available!" : "Nessuna stanza disponibile",
|
||||
"Send to BBB" : "Invia a BBB",
|
||||
|
|
|
@ -56,6 +56,7 @@
|
|||
"No matches" : "Nessuna corrispondenza",
|
||||
"admin" : "amministratore",
|
||||
"moderator" : "moderatore",
|
||||
"user" : "utente",
|
||||
"Name" : "Nome",
|
||||
"Access" : "Accesso",
|
||||
"Max" : "Massimo",
|
||||
|
@ -69,6 +70,7 @@
|
|||
"This message is shown to all users in the chat area after they joined." : "Questo messaggio è mostrato a tutti gli utenti nell'area di chat dopo il loro ingresso.",
|
||||
"Sets a limit on the number of participants for this room. Zero means there is no limit." : "Imposta un limite sul numero di partecipanti per questa stanza. Zero significa che non ci sono limiti.",
|
||||
"If enabled, the moderator is able to start the recording." : "Se abilitata, il moderatore è in grado di avviare la registrazione.",
|
||||
"Explanation of the different concepts that constitute access options :<br>- Public: Anyone who has the link can join.- <br>Internal: Only Nextcloud users can join.- <br>Password: Only guests who have the password can join..- <br>Waiting room: A moderator must accept each guest before they can join.- <br>Restricted : Only selected users and groups can access this room." : "Spiegazione dei diversi concetti che costituiscono le opzioni di accesso :<br>- Pubblico: chiunque abbia il link può partecipare.- <br>Interno: possono partecipare solo gli utenti Nextcloud.- <br>Password: solo gli ospiti che hanno la password possono partecipare..- <br>Sala d'attesa: Un moderatore deve accettare ogni ospite prima che possa partecipare.- <br>Limitato: solo gli utenti e i gruppi selezionati possono accedere a questa stanza.",
|
||||
"A moderator is able to manage all participants in a meeting including kicking, muting or selecting a presenter. Users with the role moderator are also able to close a meeting or change the default settings." : "Un moderatore è in grado di gestire tutti i partecipanti a una riunione, inclusa l'espulsione, il silenziamento o la selezione di un relatore. Gli utenti con il ruolo di moderatore possono anche chiudere una riunione o modificare le impostazioni predefinite.",
|
||||
"If enabled, normal users have to wait until a moderator is in the room." : "Se abilitata, gli utenti normali devono attendere fino a quando un moderatore è nella stanza.",
|
||||
"If enabled, a moderator URL is generated which allows access with moderator permission." : "Se abilitata, viene generato un URL moderatore che consente l'accesso con l'autorizzazione del moderatore.",
|
||||
|
@ -112,7 +114,10 @@
|
|||
"Delete?" : "Vuoi eliminare?",
|
||||
"Could not delete record" : "Impossibile eliminare il record",
|
||||
"Server error" : "Errore del server",
|
||||
"Could not modify publishing state" : "Impossibile modificare lo stato di pubblicazione",
|
||||
"Open room" : "Stanza aperta",
|
||||
"Start" : "Avvia",
|
||||
"Clone room" : "Clona stanza",
|
||||
"Loading" : "Caricamento",
|
||||
"You are not allowed to change this option, because this room is shared with you." : "Non ti è consentito modificare questa opzione, poiché questa stanza è condivisa con te.",
|
||||
"Max. rooms" : "Num. massimo stanze",
|
||||
|
@ -128,8 +133,12 @@
|
|||
"URL has to start with HTTPS" : "L'URL deve iniziare con HTTPS",
|
||||
"URL has to contain the {token} placeholder" : "L'URL deve contenere il segnaposto {token}",
|
||||
"URL has to start with https:// and contain {token}. Additionally the {user} placeholder can be used." : "L'URL deve iniziare con https: // e contenere {token}. Inoltre è possibile utilizzare il segnaposto {user}.",
|
||||
"The file \"{filename}\" was uploaded to your room." : "Il file \"{filename}\" è stato caricato nella tua stanza.",
|
||||
"The file \"{filename}\" could not be uploaded to your room." : "Il file \"{filename}\" non è stato possibile caricarlo nella tua stanza.",
|
||||
"The file \"{filename}\" could not be uploaded to your room. Maybe your BigBlueButton server does not support this action." : "Il file \"{filename}\" non può essere caricato nella tua stanza. Forse il tuo server BigBlueButton non supporta questa azione.",
|
||||
"Send file to BBB" : "Invia file a BBB",
|
||||
"Send to" : "Invia a",
|
||||
"Start with" : "Inizia con",
|
||||
"Please select the room in which you like to use the file \"{filename}\"." : "Seleziona la stanza in cui vorresti usare il file \"{filename}\".",
|
||||
"No rooms available!" : "Nessuna stanza disponibile",
|
||||
"Send to BBB" : "Invia a BBB",
|
||||
|
|
|
@ -131,10 +131,12 @@ class API {
|
|||
}
|
||||
|
||||
if ($uid) {
|
||||
$avatarUrl = $this->avatarRepository->getAvatarUrl($room, $uid);
|
||||
|
||||
$joinMeetingParams->setUserID($uid);
|
||||
$joinMeetingParams->setAvatarURL($avatarUrl);
|
||||
|
||||
if ($this->config->getAppValue('bbb', 'avatar.enabled', 'true') === 'true') {
|
||||
$avatarUrl = $this->avatarRepository->getAvatarUrl($room, $uid);
|
||||
$joinMeetingParams->setAvatarURL($avatarUrl);
|
||||
}
|
||||
}
|
||||
|
||||
return $this->getServer()->getJoinMeetingURL($joinMeetingParams);
|
||||
|
|
|
@ -7,6 +7,7 @@ use OCA\BigBlueButton\Db\Room;
|
|||
use OCA\BigBlueButton\Event\MeetingEndedEvent;
|
||||
use OCA\BigBlueButton\Event\RecordingReadyEvent;
|
||||
use OCA\BigBlueButton\Service\RoomService;
|
||||
use OCP\IConfig;
|
||||
use OCP\AppFramework\Controller;
|
||||
use OCP\EventDispatcher\IEventDispatcher;
|
||||
use OCP\IRequest;
|
||||
|
@ -27,18 +28,23 @@ class HookController extends Controller {
|
|||
/** @var IEventDispatcher */
|
||||
private $eventDispatcher;
|
||||
|
||||
/** @var IConfig */
|
||||
private $config;
|
||||
|
||||
public function __construct(
|
||||
string $appName,
|
||||
IRequest $request,
|
||||
RoomService $service,
|
||||
AvatarRepository $avatarRepository,
|
||||
IEventDispatcher $eventDispatcher
|
||||
IEventDispatcher $eventDispatcher,
|
||||
IConfig $config
|
||||
) {
|
||||
parent::__construct($appName, $request);
|
||||
|
||||
$this->service = $service;
|
||||
$this->avatarRepository = $avatarRepository;
|
||||
$this->eventDispatcher = $eventDispatcher;
|
||||
$this->config = $config;
|
||||
}
|
||||
|
||||
public function setToken(string $token): void {
|
||||
|
@ -65,7 +71,9 @@ class HookController extends Controller {
|
|||
|
||||
$this->service->updateRunning($room->getId(), false);
|
||||
|
||||
$this->avatarRepository->clearRoom($room->uid);
|
||||
if ($this->config->getAppValue('bbb', 'avatar.enabled', 'true') === 'true') {
|
||||
$this->avatarRepository->clearRoom($room->uid);
|
||||
}
|
||||
|
||||
$this->eventDispatcher->dispatch(MeetingEndedEvent::class, new MeetingEndedEvent($room, $recordingmarks));
|
||||
}
|
||||
|
|
|
@ -30,6 +30,7 @@ class Admin implements ISettings {
|
|||
'join.theme' => $this->config->getAppValue('bbb', 'join.theme') === 'true' ? 'checked' : '',
|
||||
'app.shortener' => $this->config->getAppValue('bbb', 'app.shortener'),
|
||||
'join.mediaCheck' => $this->config->getAppValue('bbb', 'join.mediaCheck', 'true') === 'true' ? 'checked' : '',
|
||||
'avatar.enabled' => $this->config->getAppValue('bbb', 'avatar.enabled', 'true') === 'true' ? 'checked' : '',
|
||||
];
|
||||
|
||||
return new TemplateResponse('bbb', 'admin', $parameters);
|
||||
|
|
|
@ -29,6 +29,11 @@ script('bbb', 'restrictions');
|
|||
<label for="bbb-join-theme"><?php p($l->t('Use Nextcloud theme in BigBlueButton.')); ?></label>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<input type="checkbox" name="avatar.enabled" id="bbb-avatar-enabled" class="checkbox bbb-setting" value="1" <?php p($_['avatar.enabled']); ?> />
|
||||
<label for="bbb-avatar-enabled"><?php p($l->t('Use Nextcloud avatars in BBB rooms.')); ?></label>
|
||||
</p>
|
||||
|
||||
<h3><?php p($l->t('Default Room Settings')); ?></h3>
|
||||
<p><?php p($l->t('Below you can change some default values, which are used to create a new room.')); ?></p>
|
||||
|
||||
|
|
Loading…
Reference in New Issue