Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 6 additions & 5 deletions bbbeasy-backend/app/src/Actions/Rooms/Start.php
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ public function beforeroute(): void
$preset = new Preset();
$p = $preset->findById($room->getPresetID($room->id)['preset_id']);

$presetProcessor = new PresetProcessor();
$presetProcessor = new PresetProcessor($this->f3);
$presetData = $presetProcessor->preparePresetData($p->getMyPresetInfos($p));

if (!$presetData[General::GROUP_NAME][General::OPEN_FOR_EVERYONE] && null === $this->session->get('user')) {
Expand Down Expand Up @@ -94,7 +94,7 @@ public function execute($f3, $params): void
if ('notFound' === $getMeetingInfoResponse->getMessageKey()) {
// create new meeting with the same meetingId

$presetprocessor = new PresetProcessor();
$presetprocessor = new PresetProcessor($this->f3);
$presetData = $presetprocessor->preparePresetData($p->getMyPresetInfos($p));

if ($room->getRoomInfos($room)['user_id'] === $this->session->get('user.id') || $presetData[General::GROUP_NAME][General::ANYONE_CAN_START]) {
Expand Down Expand Up @@ -150,7 +150,7 @@ public function getMeetingInfo(string $meetingId, BigBlueButtonRequester $bbbReq

public function createMeeting(string $meetingId, BigBlueButtonRequester $bbbRequester, $link, $p, $preetprocessor)
{
$presetProcessor = new PresetProcessor();
$presetProcessor = new PresetProcessor($this->f3);
$createParams = new CreateMeetingParameters($meetingId, 'meeting-' . $meetingId);
$createParams = $presetProcessor->toCreateMeetingParams($p, $createParams);
$createParams->setModeratorPassword(DataUtils::generateRandomString());
Expand Down Expand Up @@ -182,9 +182,10 @@ public function createMeeting(string $meetingId, BigBlueButtonRequester $bbbRequ
public function joinMeeting(string $meetingId, string $role, BigBlueButtonRequester $bbbRequester, $p, $fullname): void
{
$joinParams = new JoinMeetingParameters($meetingId, $fullname, $role);
$presetProcessor = new PresetProcessor();
$presetProcessor = new PresetProcessor($this->f3);

$joinParams = $presetProcessor->toJoinParameters($p, $joinParams);

$joinParams = $presetProcessor->toJoinParameters($p, $joinParams );

$this->logger->info(
'Meeting join request is going to redirect to the web client.',
Expand Down
4 changes: 2 additions & 2 deletions bbbeasy-backend/app/src/Actions/Rooms/View.php
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ public function beforeroute(): void
$room = $room->getByLink($link);
$preset = new Preset();
$p = $preset->findById($room->getPresetID($room->id)['preset_id']);
$presetProcessor = new PresetProcessor();
$presetProcessor = new PresetProcessor($this->f3);
$presetData = $presetProcessor->preparePresetData($p->getMyPresetInfos($p));

if (!$presetData[General::GROUP_NAME][General::OPEN_FOR_EVERYONE] && null === $this->session->get('user')) {
Expand All @@ -73,7 +73,7 @@ public function show($f3, $params): void
$canStart = false;
$preset = new Preset();
$p = $preset->findById($room->getPresetID($room->id)['preset_id']);
$presetProcessor = new PresetProcessor();
$presetProcessor = new PresetProcessor($this->f3);
$presetData = $presetProcessor->preparePresetData($p->getMyPresetInfos($p));

if (!$meetingInfoResponse->success()) {
Expand Down
1 change: 1 addition & 0 deletions bbbeasy-backend/app/src/Models/Preset.php
Original file line number Diff line number Diff line change
Expand Up @@ -103,6 +103,7 @@ public function getMyPresetInfos($myPreset): array
$presetData = [
'id' => $myPreset['id'],
'name' => $myPreset['name'],
'user_id'=> $myPreset['user_id']
];

$enabledCategories = json_decode($myPreset['settings']);
Expand Down
34 changes: 32 additions & 2 deletions bbbeasy-backend/app/src/Utils/PresetProcessor.php
Original file line number Diff line number Diff line change
Expand Up @@ -28,14 +28,26 @@
use Enum\Presets\BreakoutRooms;
use Enum\Presets\General;
use Enum\Presets\GuestPolicy;
use Enum\Presets\Language;
use Enum\Presets\LearningDashboard;
use Enum\Presets\LockSettings;
use Enum\Presets\Presentation;
use Enum\Presets\Recording;
use Enum\Presets\Webcams;
use Models\User;

class PresetProcessor
{
/**
* f3 instance.
*
* @var \Base f3
*/
protected $f3;
public function __construct($f3){
$this->f3=$f3;

}
public function preparePresetData($preset)
{
$data = [];
Expand All @@ -61,7 +73,6 @@ public function toCreateMeetingParams($preset, $createParams)
// Set the preset data
$presetsData->setData(Audio::GROUP_NAME, Audio::USERS_JOIN_MUTED, $preparePresetData[Audio::GROUP_NAME][Audio::USERS_JOIN_MUTED]);
$presetsData->setData(Audio::GROUP_NAME, Audio::MODERATORS_ALLOWED_TO_UNMUTE_USERS, $preparePresetData[Audio::GROUP_NAME][Audio::MODERATORS_ALLOWED_TO_UNMUTE_USERS]);

$presetsData->setData(Branding::GROUP_NAME, Branding::LOGO, $preparePresetData[Branding::GROUP_NAME][Branding::LOGO]);
$presetsData->setData(Branding::GROUP_NAME, Branding::BANNER_COLOR, $preparePresetData[Branding::GROUP_NAME][Branding::BANNER_COLOR]);
$presetsData->setData(Branding::GROUP_NAME, Branding::BANNER_TEXT, $preparePresetData[Branding::GROUP_NAME][Branding::BANNER_TEXT]);
Expand Down Expand Up @@ -158,13 +169,32 @@ public function toJoinParameters($preset, $joinParams)
$preparePresetData = $this->preparePresetData($preset);

// Set the preset data
$presetsData->setData(Audio::GROUP_NAME, Audio::AUTO_JOIN, $preparePresetData[Audio::GROUP_NAME][Audio::AUTO_JOIN]);
$presetsData->setData(Audio::GROUP_NAME, Audio::LISTEN_ONLY_ENABLED, $preparePresetData[Audio::GROUP_NAME][Audio::LISTEN_ONLY_ENABLED]);
$presetsData->setData(Audio::GROUP_NAME, Audio::SKIP_ECHO_TEST, $preparePresetData[Audio::GROUP_NAME][Audio::SKIP_ECHO_TEST]);


$presetsData->setData(Branding::GROUP_NAME,Branding::TITLE,$preparePresetData[Branding::GROUP_NAME][Branding::TITLE]);
$presetsData->setData(Branding::GROUP_NAME,Branding::USE_AVATARS,$preparePresetData[Branding::GROUP_NAME][Branding::USE_AVATARS]);

$presetsData->setData(Language::GROUP_NAME,Language::DEFAULT_LANGUAGE,$preparePresetData[Language::GROUP_NAME][Language::DEFAULT_LANGUAGE]);




$joinParams->addUserData('bbb_auto_join_audio', $presetsData->getData(Audio::GROUP_NAME, Audio::AUTO_JOIN));
$joinParams->addUserData('bbb_force_listen_only', $presetsData->getData(Audio::GROUP_NAME, Audio::LISTEN_ONLY_ENABLED));
$user=new User();
$user=$user->getById($preset['user_id']);


$joinParams->addUserData('bbb_skip_check_audio', $presetsData->getData(Audio::GROUP_NAME, Audio::SKIP_ECHO_TEST));
$joinParams->setRedirect(false);
$joinParams->setAvatarURL( $presetsData->getData(Branding::GROUP_NAME,Branding::USE_AVATARS)?$this->f3->get('SERVER.HTTP_ORIGIN') .'/uploads/'. $user->avatar:null);
// $joinParams->setAvatarURL("https://upload.wikimedia.org/wikipedia/commons/thumb/9/94/BigBlueButton_icon.svg/1200px-BigBlueButton_icon.svg.png");
$joinParams->addUserData('bbb_client_title',$presetsData->getData(Branding::GROUP_NAME, Branding::TITLE));
$joinParams->addUserData('bbb_display_branding_area',true);
$joinParams->addUserData('bbb_override_default_locale',$presetsData->getData(Language::GROUP_NAME,Language::DEFAULT_LANGUAGE));
$joinParams->setRedirect(false);

return $joinParams;
}
Expand Down
21 changes: 12 additions & 9 deletions bbbeasy-frontend/src/components/Presets.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -137,6 +137,9 @@ const PresetsCol: React.FC<PresetColProps> = ({
fileList[0].type === 'image/png';
if (img) {
setFileList(fileList);
fileList[0].name = 'logo-branding-' + Date.now() + '.' + fileList[0].type.substring(6);


setFile(fileList[0]);
}
}
Expand Down Expand Up @@ -237,8 +240,9 @@ const PresetsCol: React.FC<PresetColProps> = ({
//edit file
if (indexLogo > -1 && file != undefined && file.originFileObj != null) {
const formData: FormData = new FormData();
formData.append('logo', file.originFileObj, file.originFileObj.name);
formData.append('logo_name', file.originFileObj.name);
console.log(file)
formData.append('logo', file.originFileObj, file.name);
formData.append('logo_name', file.name);

axios
.post(apiRoutes.SAVE_FILE_URL, formData)
Expand Down Expand Up @@ -562,14 +566,13 @@ const PresetsCol: React.FC<PresetColProps> = ({
{item.type === 'select' && (
<Select
defaultValue={item.value}
options={
getData().map((data) => ({
label: "Guest Policy" == modalTitle ? ReactDomServer.renderToString(<Trans i18nKey={data.key} />): data.name,
value: data.value,
}))

}
onChange={(event) => {
options={LanguagesBBB.map((language) => ({
label: language.name,
value: language.key,
}))}
onChange={(event) => {
console.log(event)
item.value = event;
console.log(event);
}}
Expand Down
8 changes: 8 additions & 0 deletions vagrant/dev/nginx/bbbeasy.conf
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,14 @@ server {
access_log /app/vagrant/dev/nginx/log/bbbeasy-access.log;
error_log /app/vagrant/dev/nginx/log/bbbeasy-error.log;

location /uploads/ {

alias /app/bbbeasy-backend/uploads/;
autoindex on;


}

location /api {
# Checks whether the requested url exists as a file ($uri) or directory ($uri/) in the root, else redirect to /index.php.
try_files $uri $uri/ @redirects;
Expand Down