Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/spreed.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoas Schilling <coding@schilljs.com>2020-03-26 14:04:34 +0300
committerJoas Schilling <coding@schilljs.com>2020-03-26 14:10:28 +0300
commit21432cdb865ad8b0caa97b39a09bdbb301c1cc13 (patch)
tree1864b7be6f8cd63a7ddc4fa31e1035d58b0f95f9 /lib/Settings
parent5aa7998e4f013c2bc47cfee363b6a27900194571 (diff)
Combine the admin settings into one JS file so we watch less resources
Signed-off-by: Joas Schilling <coding@schilljs.com>
Diffstat (limited to 'lib/Settings')
-rw-r--r--lib/Settings/Admin/AdminSettings.php (renamed from lib/Settings/Admin/Commands.php)43
-rw-r--r--lib/Settings/Admin/AllowedGroups.php70
-rw-r--r--lib/Settings/Admin/GeneralSettings.php76
-rw-r--r--lib/Settings/Admin/SignalingServer.php73
-rw-r--r--lib/Settings/Admin/StunServer.php79
-rw-r--r--lib/Settings/Admin/TurnServer.php70
6 files changed, 38 insertions, 373 deletions
diff --git a/lib/Settings/Admin/Commands.php b/lib/Settings/Admin/AdminSettings.php
index af1edda27..1420db997 100644
--- a/lib/Settings/Admin/Commands.php
+++ b/lib/Settings/Admin/AdminSettings.php
@@ -25,30 +25,49 @@ namespace OCA\Talk\Settings\Admin;
use OCA\Talk\Config;
use OCA\Talk\Model\Command;
+use OCA\Talk\Participant;
+use OCA\Talk\Room;
use OCA\Talk\Service\CommandService;
use OCP\AppFramework\Http\TemplateResponse;
+use OCP\IConfig;
use OCP\IInitialStateService;
use OCP\Settings\ISettings;
-class Commands implements ISettings {
+class AdminSettings implements ISettings {
+ /** @var Config */
+ private $talkConfig;
+ /** @var IConfig */
+ private $serverConfig;
/** @var CommandService */
private $commandService;
/** @var IInitialStateService */
private $initialStateService;
- public function __construct(CommandService $commandService,
+ public function __construct(Config $talkConfig,
+ IConfig $serverConfig,
+ CommandService $commandService,
IInitialStateService $initialStateService) {
+ $this->talkConfig = $talkConfig;
+ $this->serverConfig = $serverConfig;
$this->commandService = $commandService;
$this->initialStateService = $initialStateService;
}
-
/**
* @return TemplateResponse
*/
public function getForm(): TemplateResponse {
+ // General settings
+ $this->initialStateService->provideInitialState('talk', 'start_calls', (int) $this->serverConfig->getAppValue('spreed', 'start_calls', Room::START_CALL_EVERYONE));
+ $this->initialStateService->provideInitialState('talk', 'default_group_notification', (int) $this->serverConfig->getAppValue('spreed', 'default_group_notification', Participant::NOTIFY_MENTION));
+ $this->initialStateService->provideInitialState('talk', 'conversations_files', (int) $this->serverConfig->getAppValue('spreed', 'conversations_files', '1'));
+ $this->initialStateService->provideInitialState('talk', 'conversations_files_public_shares', (int) $this->serverConfig->getAppValue('spreed', 'conversations_files_public_shares', '1'));
+
+ // Allowed groups
+ $this->initialStateService->provideInitialState('talk', 'allowed_groups', $this->talkConfig->getAllowedGroupIds());
+ // Commands
$commands = $this->commandService->findAll();
$result = array_map(function(Command $command) {
@@ -57,7 +76,21 @@ class Commands implements ISettings {
$this->initialStateService->provideInitialState('talk', 'commands', $result);
- return new TemplateResponse('spreed', 'settings/admin/commands', [], '');
+ // Stun servers
+ $this->initialStateService->provideInitialState('talk', 'stun_servers', $this->talkConfig->getStunServers());
+ $this->initialStateService->provideInitialState('talk', 'has_internet_connection', $this->serverConfig->getSystemValueBool('has_internet_connection', true));
+
+ // Turn servers
+ $this->initialStateService->provideInitialState('talk', 'turn_servers', $this->talkConfig->getTurnServers());
+
+ // Signaling servers
+ $this->initialStateService->provideInitialState('talk', 'signaling_servers', [
+ 'servers' => $this->talkConfig->getSignalingServers(),
+ 'secret' => $this->talkConfig->getSignalingSecret(),
+ 'hideWarning' => $this->talkConfig->getHideSignalingWarning(),
+ ]);
+
+ return new TemplateResponse('spreed', 'settings/admin-settings', [], '');
}
/**
@@ -75,7 +108,7 @@ class Commands implements ISettings {
* E.g.: 70
*/
public function getPriority(): int {
- return 60;
+ return 0;
}
}
diff --git a/lib/Settings/Admin/AllowedGroups.php b/lib/Settings/Admin/AllowedGroups.php
deleted file mode 100644
index b969bfe18..000000000
--- a/lib/Settings/Admin/AllowedGroups.php
+++ /dev/null
@@ -1,70 +0,0 @@
-<?php
-declare(strict_types=1);
-/**
- * @copyright Copyright (c) 2019 Joas Schilling <coding@schilljs.com>
- *
- * @license GNU AGPL version 3 or any later version
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-
-namespace OCA\Talk\Settings\Admin;
-
-
-use OCA\Talk\Config;
-use OCP\AppFramework\Http\TemplateResponse;
-use OCP\IInitialStateService;
-use OCP\Settings\ISettings;
-
-class AllowedGroups implements ISettings {
-
- /** @var Config */
- private $config;
- /** @var IInitialStateService */
- private $initialStateService;
-
- public function __construct(Config $config,
- IInitialStateService $initialStateService) {
- $this->config = $config;
- $this->initialStateService = $initialStateService;
- }
-
- /**
- * @return TemplateResponse
- */
- public function getForm(): TemplateResponse {
- $this->initialStateService->provideInitialState('talk', 'allowed_groups', $this->config->getAllowedGroupIds());
- return new TemplateResponse('spreed', 'settings/admin/allowed-groups', [], '');
- }
-
- /**
- * @return string the section ID, e.g. 'sharing'
- */
- public function getSection(): string {
- return 'talk';
- }
-
- /**
- * @return int whether the form should be rather on the top or bottom of
- * the admin section. The forms are arranged in ascending order of the
- * priority values. It is required to return a value between 0 and 100.
- *
- * E.g.: 70
- */
- public function getPriority(): int {
- return 10;
- }
-
-}
diff --git a/lib/Settings/Admin/GeneralSettings.php b/lib/Settings/Admin/GeneralSettings.php
deleted file mode 100644
index aea1b602d..000000000
--- a/lib/Settings/Admin/GeneralSettings.php
+++ /dev/null
@@ -1,76 +0,0 @@
-<?php
-declare(strict_types=1);
-/**
- * @copyright Copyright (c) 2019 Joas Schilling <coding@schilljs.com>
- *
- * @license GNU AGPL version 3 or any later version
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-
-namespace OCA\Talk\Settings\Admin;
-
-
-use OCA\Talk\Config;
-use OCA\Talk\Participant;
-use OCA\Talk\Room;
-use OCP\AppFramework\Http\TemplateResponse;
-use OCP\IConfig;
-use OCP\IInitialStateService;
-use OCP\Settings\ISettings;
-
-class GeneralSettings implements ISettings {
-
- /** @var IConfig */
- private $config;
- /** @var IInitialStateService */
- private $initialStateService;
-
- public function __construct(IConfig $config,
- IInitialStateService $initialStateService) {
- $this->config = $config;
- $this->initialStateService = $initialStateService;
- }
-
- /**
- * @return TemplateResponse
- */
- public function getForm(): TemplateResponse {
- $this->initialStateService->provideInitialState('talk', 'start_calls', (int) $this->config->getAppValue('spreed', 'start_calls', Room::START_CALL_EVERYONE));
- $this->initialStateService->provideInitialState('talk', 'default_group_notification', (int) $this->config->getAppValue('spreed', 'default_group_notification', Participant::NOTIFY_MENTION));
- $this->initialStateService->provideInitialState('talk', 'conversations_files', (int) $this->config->getAppValue('spreed', 'conversations_files', '1'));
- $this->initialStateService->provideInitialState('talk', 'conversations_files_public_shares', (int) $this->config->getAppValue('spreed', 'conversations_files_public_shares', '1'));
- return new TemplateResponse('spreed', 'settings/admin/general-settings', [], '');
- }
-
- /**
- * @return string the section ID, e.g. 'sharing'
- */
- public function getSection(): string {
- return 'talk';
- }
-
- /**
- * @return int whether the form should be rather on the top or bottom of
- * the admin section. The forms are arranged in ascending order of the
- * priority values. It is required to return a value between 0 and 100.
- *
- * E.g.: 70
- */
- public function getPriority(): int {
- return 0;
- }
-
-}
diff --git a/lib/Settings/Admin/SignalingServer.php b/lib/Settings/Admin/SignalingServer.php
deleted file mode 100644
index 35bc9867f..000000000
--- a/lib/Settings/Admin/SignalingServer.php
+++ /dev/null
@@ -1,73 +0,0 @@
-<?php
-declare(strict_types=1);
-/**
- * @author Joachim Bauch <mail@joachim-bauch.de>
- *
- * @license GNU AGPL version 3 or any later version
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-
-namespace OCA\Talk\Settings\Admin;
-
-
-use OCA\Talk\Config;
-use OCP\AppFramework\Http\TemplateResponse;
-use OCP\IInitialStateService;
-use OCP\Settings\ISettings;
-
-class SignalingServer implements ISettings {
-
- /** @var Config */
- private $config;
- /** @var IInitialStateService */
- private $initialStateService;
-
- public function __construct(Config $config,
- IInitialStateService $initialStateService) {
- $this->config = $config;
- $this->initialStateService = $initialStateService;
- }
-
- /**
- * @return TemplateResponse
- */
- public function getForm(): TemplateResponse {
- $this->initialStateService->provideInitialState('talk', 'signaling_servers', [
- 'servers' => $this->config->getSignalingServers(),
- 'secret' => $this->config->getSignalingSecret(),
- 'hideWarning' => $this->config->getHideSignalingWarning(),
- ]);
- return new TemplateResponse('spreed', 'settings/admin/signaling-server', [], '');
- }
- /**
- * @return string the section ID, e.g. 'sharing'
- */
- public function getSection(): string {
- return 'talk';
- }
-
- /**
- * @return int whether the form should be rather on the top or bottom of
- * the admin section. The forms are arranged in ascending order of the
- * priority values. It is required to return a value between 0 and 100.
- *
- * E.g.: 70
- */
- public function getPriority(): int {
- return 75;
- }
-
-}
diff --git a/lib/Settings/Admin/StunServer.php b/lib/Settings/Admin/StunServer.php
deleted file mode 100644
index 3c5f55e08..000000000
--- a/lib/Settings/Admin/StunServer.php
+++ /dev/null
@@ -1,79 +0,0 @@
-<?php
-declare(strict_types=1);
-/**
- * @copyright Copyright (c) 2017 Joas Schilling <coding@schilljs.com>
- *
- * @author Joas Schilling <coding@schilljs.com>
- *
- * @license GNU AGPL version 3 or any later version
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-
-
-namespace OCA\Talk\Settings\Admin;
-
-
-use OCA\Talk\Config;
-use OCP\AppFramework\Http\TemplateResponse;
-use OCP\IConfig;
-use OCP\IInitialStateService;
-use OCP\Settings\ISettings;
-
-class StunServer implements ISettings {
-
- /** @var Config */
- private $config;
- /** @var IConfig */
- private $serverConfig;
- /** @var IInitialStateService */
- private $initialStateService;
-
- public function __construct(Config $config,
- IConfig $serverConfig,
- IInitialStateService $initialStateService) {
- $this->config = $config;
- $this->serverConfig = $serverConfig;
- $this->initialStateService = $initialStateService;
- }
-
- /**
- * @return TemplateResponse
- */
- public function getForm(): TemplateResponse {
- $this->initialStateService->provideInitialState('talk', 'stun_servers', $this->config->getStunServers());
- $this->initialStateService->provideInitialState('talk', 'has_internet_connection', $this->serverConfig->getSystemValueBool('has_internet_connection', true));
- return new TemplateResponse('spreed', 'settings/admin/stun-server', [], '');
- }
-
- /**
- * @return string the section ID, e.g. 'sharing'
- */
- public function getSection(): string {
- return 'talk';
- }
-
- /**
- * @return int whether the form should be rather on the top or bottom of
- * the admin section. The forms are arranged in ascending order of the
- * priority values. It is required to return a value between 0 and 100.
- *
- * E.g.: 70
- */
- public function getPriority(): int {
- return 65;
- }
-
-}
diff --git a/lib/Settings/Admin/TurnServer.php b/lib/Settings/Admin/TurnServer.php
deleted file mode 100644
index 1690df749..000000000
--- a/lib/Settings/Admin/TurnServer.php
+++ /dev/null
@@ -1,70 +0,0 @@
-<?php
-declare(strict_types=1);
-/**
- * @author Joachim Bauch <mail@joachim-bauch.de>
- *
- * @license GNU AGPL version 3 or any later version
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-
-namespace OCA\Talk\Settings\Admin;
-
-
-use OCA\Talk\Config;
-use OCP\AppFramework\Http\TemplateResponse;
-use OCP\IInitialStateService;
-use OCP\Settings\ISettings;
-
-class TurnServer implements ISettings {
-
- /** @var Config */
- private $config;
- /** @var IInitialStateService */
- private $initialStateService;
-
- public function __construct(Config $config,
- IInitialStateService $initialStateService) {
- $this->config = $config;
- $this->initialStateService = $initialStateService;
- }
-
- /**
- * @return TemplateResponse
- */
- public function getForm(): TemplateResponse {
- $this->initialStateService->provideInitialState('talk', 'turn_servers', $this->config->getTurnServers());
- return new TemplateResponse('spreed', 'settings/admin/turn-server', [], '');
- }
-
- /**
- * @return string the section ID, e.g. 'sharing'
- */
- public function getSection(): string {
- return 'talk';
- }
-
- /**
- * @return int whether the form should be rather on the top or bottom of
- * the admin section. The forms are arranged in ascending order of the
- * priority values. It is required to return a value between 0 and 100.
- *
- * E.g.: 70
- */
- public function getPriority(): int {
- return 70;
- }
-
-}