diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/Controller/AdminController.php | 114 | ||||
-rw-r--r-- | lib/Settings/AdminSettings.php | 16 |
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() |