summaryrefslogtreecommitdiffstats
path: root/settings/Controller
diff options
context:
space:
mode:
authorMorris Jobke <hey@morrisjobke.de>2019-02-11 11:13:55 +0100
committerGitHub <noreply@github.com>2019-02-11 11:13:55 +0100
commit34dc165132a06211e2ba10dcb9826cf6ed5096f6 (patch)
tree51bd0513064597ba6ea9af402381d91bce85db50 /settings/Controller
parent2e7eb344c8a65ab02a8704405d929fd60356a0ea (diff)
parent587a140c8a75e9a3a0a98ccd37675f785d37f5ab (diff)
downloadnextcloud-server-34dc165132a06211e2ba10dcb9826cf6ed5096f6.tar.gz
nextcloud-server-34dc165132a06211e2ba10dcb9826cf6ed5096f6.zip
Merge pull request #13097 from nextcloud/feature/11319/where-is-your-data
Where is your data?
Diffstat (limited to 'settings/Controller')
-rw-r--r--settings/Controller/ServerInfoSettingsController.php67
1 files changed, 67 insertions, 0 deletions
diff --git a/settings/Controller/ServerInfoSettingsController.php b/settings/Controller/ServerInfoSettingsController.php
new file mode 100644
index 00000000000..a5c80211712
--- /dev/null
+++ b/settings/Controller/ServerInfoSettingsController.php
@@ -0,0 +1,67 @@
+<?php
+/**
+ * @copyright Copyright (c) 2018 Michael Weimann <mail@michael-weimann.eu>
+ *
+ * @author Michael Weimann <mail@michael-weimann.eu>
+ *
+ * @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 OC\Settings\Controller;
+
+use OC\Settings\Theming\ServerInfo;
+use OCP\AppFramework\Controller;
+use OCP\IConfig;
+use OCP\IRequest;
+
+/**
+ * This controller handles server info settings requests.
+ */
+class ServerInfoSettingsController extends Controller {
+
+ /**
+ * @var IConfig
+ */
+ private $config;
+
+ /**
+ * ServerInfoSettingsController constructor.
+ *
+ * @param IConfig $config
+ */
+ public function __construct($appName, IRequest $request, IConfig $config) {
+ parent::__construct($appName, $request);
+ $this->config = $config;
+ }
+
+ public function storeServerInfo(
+ string $location,
+ string $provider,
+ string $providerWebsite,
+ string $providerPrivacyLink,
+ string $adminContact
+ ): void {
+ $configs = [
+ ServerInfo::SETTING_LOCATION => $location,
+ ServerInfo::SETTING_PROVIDER => $provider,
+ ServerInfo::SETTING_PROVIDER_WEBSITE => $providerWebsite,
+ ServerInfo::SETTING_PROVIDER_PRIVACY_LINK => $providerPrivacyLink,
+ ServerInfo::SETTING_PROVIDER_ADMIN_CONTACT => $adminContact
+ ];
+ $this->config->setSystemValues($configs);
+ }
+
+}