Passed
Push — master ( 59402b...899021 )
by John
11:15 queued 10s
created

Personal   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 27
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 4
eloc 12
dl 0
loc 27
rs 10
c 1
b 0
f 0

4 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 4 1
A getSection() 0 2 1
A getPriority() 0 2 1
A getForm() 0 4 1
1
<?php
2
declare(strict_types=1);
3
/**
4
 * @copyright Copyright (c) 2019, Roeland Jago Douma <[email protected]>
5
 *
6
 * @author Roeland Jago Douma <[email protected]>
7
 *
8
 * @license GNU AGPL version 3 or any later version
9
 *
10
 * This program is free software: you can redistribute it and/or modify
11
 * it under the terms of the GNU Affero General Public License as
12
 * published by the Free Software Foundation, either version 3 of the
13
 * License, or (at your option) any later version.
14
 *
15
 * This program is distributed in the hope that it will be useful,
16
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18
 * GNU Affero General Public License for more details.
19
 *
20
 * You should have received a copy of the GNU Affero General Public License
21
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
22
 *
23
 */
24
25
namespace OCA\Files_Sharing\Settings;
26
27
use OCA\Files_Sharing\AppInfo\Application;
28
use OCP\AppFramework\Http\TemplateResponse;
29
use OCP\IConfig;
30
use OCP\IInitialStateService;
31
use OCP\Settings\ISettings;
32
33
class Personal implements ISettings {
34
35
	/** @var IConfig */
36
	private $config;
37
	/** @var IInitialStateService */
38
	private $initialState;
39
	/** @var string */
40
	private $userId;
41
42
	public function __construct(IConfig $config, IInitialStateService $initialState, string $userId) {
43
		$this->config = $config;
44
		$this->initialState = $initialState;
45
		$this->userId = $userId;
46
	}
47
48
	public function getForm(): TemplateResponse {
49
		$value = $this->config->getUserValue($this->userId, Application::APP_ID, 'default_accept', 'no') === 'yes';
50
		$this->initialState->provideInitialState(Application::APP_ID, 'accept_default', $value);
51
		return new TemplateResponse('files_sharing', 'Settings/personal');
52
	}
53
54
	public function getSection(): string {
55
		return 'sharing';
56
	}
57
58
	public function getPriority(): int {
59
		return 90;
60
	}
61
62
}
63