Passed
Push — master ( f51c75...7e2828 )
by Morris
11:24 queued 11s
created

ActivitySettings::isDefaultEnabledStream()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 2
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 1
Metric Value
cc 1
eloc 1
nc 1
nop 0
dl 0
loc 2
rs 10
c 1
b 0
f 1
1
<?php
2
3
declare(strict_types=1);
4
/**
5
 * @copyright Copyright (c) 2020 Robin Appelman <[email protected]>
6
 *
7
 * @license GNU AGPL version 3 or any later version
8
 *
9
 * This program is free software: you can redistribute it and/or modify
10
 * it under the terms of the GNU Affero General Public License as
11
 * published by the Free Software Foundation, either version 3 of the
12
 * License, or (at your option) any later version.
13
 *
14
 * This program is distributed in the hope that it will be useful,
15
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17
 * GNU Affero General Public License for more details.
18
 *
19
 * You should have received a copy of the GNU Affero General Public License
20
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
21
 *
22
 */
23
24
namespace OCP\Activity;
25
26
/**
27
 * @since 20.0.0
28
 */
29
abstract class ActivitySettings implements ISetting {
30
	/**
31
	 * @return string Lowercase a-z and underscore only identifier
32
	 * @since 20.0.0
33
	 */
34
	abstract public function getIdentifier();
35
36
	/**
37
	 * @return string A translated string
38
	 * @since 20.0.0
39
	 */
40
	abstract public function getName();
41
42
	/**
43
	 * @return int whether the filter should be rather on the top or bottom of
44
	 * the admin section. The filters are arranged in ascending order of the
45
	 * priority values. It is required to return a value between 0 and 100.
46
	 * @since 20.0.0
47
	 */
48
	abstract public function getPriority();
49
50
	/**
51
	 * @return bool True when the option can be changed for the mail
52
	 * @since 20.0.0
53
	 */
54
	public function canChangeMail() {
55
		return true;
56
	}
57
58
	/**
59
	 * @return bool True when the option can be changed for the notification
60
	 * @since 20.0.0
61
	 */
62
	public function canChangeNotification() {
63
		return true;
64
	}
65
66
	/**
67
	 * @return bool Whether or not an activity email should be send by default
68
	 * @since 20.0.0
69
	 */
70
	public function isDefaultEnabledMail() {
71
		return false;
72
	}
73
74
	/**
75
	 * @return bool Whether or not an activity notification should be send by default
76
	 * @since 20.0.0
77
	 */
78
	public function isDefaultEnabledNotification() {
79
		return $this->isDefaultEnabledMail() && !$this->canChangeMail();
80
	}
81
82
	/**
83
	 * Left in for backwards compatibility
84
	 *
85
	 * @return bool
86
	 * @since 20.0.0
87
	 */
88
	public function canChangeStream() {
89
		return false;
90
	}
91
92
	/**
93
	 * Left in for backwards compatibility
94
	 *
95
	 * @return bool
96
	 * @since 20.0.0
97
	 */
98
	public function isDefaultEnabledStream() {
99
		return true;
100
	}
101
}
102