summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/Controller/AdminController.php114
-rw-r--r--lib/Settings/AdminSettings.php16
2 files changed, 9 insertions, 121 deletions
diff --git a/lib/Controller/AdminController.php b/lib/Controller/AdminController.php
deleted file mode 100644
index 8a0dfd99c..000000000
--- a/lib/Controller/AdminController.php
+++ /dev/null
@@ -1,114 +0,0 @@
-<?php
-/**
- * Nextcloud - News
- *
- * This file is licensed under the Affero General Public License version 3 or
- * later. See the COPYING file.
- *
- * @author Alessandro Cosentino <cosenal@gmail.com>
- * @author Bernhard Posselt <dev@bernhard-posselt.com>
- *
- * @copyright 2012 Alessandro Cosentino
- * @copyright 2012-2014 Bernhard Posselt
- */
-
-namespace OCA\News\Controller;
-
-use OCA\News\AppInfo\Application;
-use OCP\AppFramework\Http\TemplateResponse;
-use OCP\IConfig;
-use OCP\IRequest;
-use OCP\AppFramework\Controller;
-
-/**
- * Class AdminController
- *
- * @package OCA\News\Controller
- */
-class AdminController extends Controller
-{
-
- /**
- * @var IConfig
- */
- private $config;
-
- /**
- * AdminController constructor.
- *
- * @param IRequest $request The request
- * @param IConfig $config Config for nextcloud
- */
- public function __construct(IRequest $request, IConfig $config)
- {
- parent::__construct(Application::NAME, $request);
-
- $this->config = $config;
- }
-
- /**
- * Controller main entry.
- *
- * There are no checks for the index method since the output is
- * rendered in admin/admin.php
- *
- * @return TemplateResponse
- */
- public function index(): TemplateResponse
- {
- return new TemplateResponse($this->appName, 'admin', $this->getData(), 'blank');
- }
-
- /**
- * Get admin data.
- *
- * @return array
- */
- private function getData(): array
- {
- $data = [];
-
- foreach (array_keys(Application::DEFAULT_SETTINGS) as $setting) {
- $data[$setting] = $this->config->getAppValue(
- Application::NAME,
- $setting,
- Application::DEFAULT_SETTINGS[$setting]
- );
- }
-
- return $data;
- }
-
- /**
- * Update the app config.
- *
- * @param int $autoPurgeMinimumInterval New minimum interval for auto-purge
- * @param int $autoPurgeCount New value of auto-purge count
- * @param int $maxRedirects New value for max amount of redirects
- * @param int $feedFetcherTimeout New timeout value for feed fetcher
- * @param bool $useCronUpdates Whether or not to use cron updates
- * @param string $exploreUrl URL to use for the explore feed
- * @param int $updateInterval Interval in which the feeds will be updated
- *
- * @return array with the updated values
- */
- public function update(
- int $autoPurgeMinimumInterval,
- int $autoPurgeCount,
- int $maxRedirects,
- int $feedFetcherTimeout,
- bool $useCronUpdates,
- string $exploreUrl,
- int $updateInterval
- ): array {
- $this->config->setAppValue($this->appName, 'autoPurgeMinimumInterval', $autoPurgeMinimumInterval);
- $this->config->setAppValue($this->appName, 'autoPurgeCount', $autoPurgeCount);
- $this->config->setAppValue($this->appName, 'maxRedirects', $maxRedirects);
- $this->config->setAppValue($this->appName, 'feedFetcherTimeout', $feedFetcherTimeout);
- $this->config->setAppValue($this->appName, 'useCronUpdates', $useCronUpdates);
- $this->config->setAppValue($this->appName, 'exploreUrl', $exploreUrl);
- $this->config->setAppValue($this->appName, 'updateInterval', $updateInterval);
-
- return $this->getData();
- }
-}
diff --git a/lib/Settings/AdminSettings.php b/lib/Settings/AdminSettings.php
index 1f3d98c08..c29b5d46c 100644
--- a/lib/Settings/AdminSettings.php
+++ b/lib/Settings/AdminSettings.php
@@ -6,6 +6,7 @@ use OCA\News\AppInfo\Application;
use OCP\AppFramework\Http\TemplateResponse;
use OCP\IConfig;
use OCP\Settings\ISettings;
+use OCP\AppFramework\Services\IInitialState;
class AdminSettings implements ISettings
{
@@ -14,25 +15,26 @@ class AdminSettings implements ISettings
* @var IConfig
*/
private $config;
+ /** @var IInitialState */
+ private $initialState;
- public function __construct(IConfig $config)
+ public function __construct(IConfig $config, IInitialState $initialState)
{
$this->config = $config;
+ $this->initialState = $initialState;
}
public function getForm()
{
- $data = [];
-
foreach (array_keys(Application::DEFAULT_SETTINGS) as $setting) {
- $data[$setting] = $this->config->getAppValue(
+ $this->initialState->provideInitialState($setting, $this->config->getAppValue(
Application::NAME,
$setting,
- Application::DEFAULT_SETTINGS[$setting]
- );
+ (string)Application::DEFAULT_SETTINGS[$setting]
+ ));
}
- return new TemplateResponse(Application::NAME, 'admin', $data);
+ return new TemplateResponse(Application::NAME, 'admin', []);
}
public function getSection()