Completed
Branch master (69e0e2)
by Johannes
12:46
created
apps/files_trashbin/lib/Capabilities.php 1 patch
Indentation   +12 added lines, -12 removed lines patch added patch discarded remove patch
@@ -33,17 +33,17 @@
 block discarded – undo
33 33
  */
34 34
 class Capabilities implements ICapability {
35 35
 
36
-	/**
37
-	 * Return this classes capabilities
38
-	 *
39
-	 * @return array
40
-	 */
41
-	public function getCapabilities() {
42
-		return [
43
-			'files' => [
44
-				'undelete' => true
45
-			]
46
-		];
47
-	}
36
+    /**
37
+     * Return this classes capabilities
38
+     *
39
+     * @return array
40
+     */
41
+    public function getCapabilities() {
42
+        return [
43
+            'files' => [
44
+                'undelete' => true
45
+            ]
46
+        ];
47
+    }
48 48
 	
49 49
 }
Please login to merge, or discard this patch.
apps/files_trashbin/lib/Hooks.php 2 patches
Indentation   +19 added lines, -19 removed lines patch added patch discarded remove patch
@@ -31,24 +31,24 @@
 block discarded – undo
31 31
 
32 32
 class Hooks {
33 33
 
34
-	/**
35
-	 * clean up user specific settings if user gets deleted
36
-	 * @param array $params array with uid
37
-	 *
38
-	 * This function is connected to the pre_deleteUser signal of OC_Users
39
-	 * to remove the used space for the trash bin stored in the database
40
-	 */
41
-	public static function deleteUser_hook($params) {
42
-		if( \OCP\App::isEnabled('files_trashbin') ) {
43
-			$uid = $params['uid'];
44
-			Trashbin::deleteUser($uid);
45
-		}
46
-	}
34
+    /**
35
+     * clean up user specific settings if user gets deleted
36
+     * @param array $params array with uid
37
+     *
38
+     * This function is connected to the pre_deleteUser signal of OC_Users
39
+     * to remove the used space for the trash bin stored in the database
40
+     */
41
+    public static function deleteUser_hook($params) {
42
+        if( \OCP\App::isEnabled('files_trashbin') ) {
43
+            $uid = $params['uid'];
44
+            Trashbin::deleteUser($uid);
45
+        }
46
+    }
47 47
 
48
-	public static function post_write_hook($params) {
49
-		$user = \OCP\User::getUser();
50
-		if (!empty($user)) {
51
-			Trashbin::resizeTrash($user);
52
-		}
53
-	}
48
+    public static function post_write_hook($params) {
49
+        $user = \OCP\User::getUser();
50
+        if (!empty($user)) {
51
+            Trashbin::resizeTrash($user);
52
+        }
53
+    }
54 54
 }
Please login to merge, or discard this patch.
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -39,7 +39,7 @@
 block discarded – undo
39 39
 	 * to remove the used space for the trash bin stored in the database
40 40
 	 */
41 41
 	public static function deleteUser_hook($params) {
42
-		if( \OCP\App::isEnabled('files_trashbin') ) {
42
+		if (\OCP\App::isEnabled('files_trashbin')) {
43 43
 			$uid = $params['uid'];
44 44
 			Trashbin::deleteUser($uid);
45 45
 		}
Please login to merge, or discard this patch.
apps/files_trashbin/lib/Expiration.php 2 patches
Indentation   +135 added lines, -135 removed lines patch added patch discarded remove patch
@@ -28,139 +28,139 @@
 block discarded – undo
28 28
 
29 29
 class Expiration {
30 30
 
31
-	// how long do we keep files in the trash bin if no other value is defined in the config file (unit: days)
32
-	const DEFAULT_RETENTION_OBLIGATION = 30;
33
-	const NO_OBLIGATION = -1;
34
-
35
-	/** @var ITimeFactory */
36
-	private $timeFactory;
37
-
38
-	/** @var string */
39
-	private $retentionObligation;
40
-
41
-	/** @var int */
42
-	private $minAge;
43
-
44
-	/** @var int */
45
-	private $maxAge;
46
-
47
-	/** @var bool */
48
-	private $canPurgeToSaveSpace;
49
-
50
-	public function __construct(IConfig $config,ITimeFactory $timeFactory){
51
-		$this->timeFactory = $timeFactory;
52
-		$this->retentionObligation = $config->getSystemValue('trashbin_retention_obligation', 'auto');
53
-
54
-		if ($this->retentionObligation !== 'disabled') {
55
-			$this->parseRetentionObligation();
56
-		}
57
-	}
58
-
59
-	/**
60
-	 * Is trashbin expiration enabled
61
-	 * @return bool
62
-	 */
63
-	public function isEnabled(){
64
-		return $this->retentionObligation !== 'disabled';
65
-	}
66
-
67
-	/**
68
-	 * Check if given timestamp in expiration range
69
-	 * @param int $timestamp
70
-	 * @param bool $quotaExceeded
71
-	 * @return bool
72
-	 */
73
-	public function isExpired($timestamp, $quotaExceeded = false){
74
-		// No expiration if disabled
75
-		if (!$this->isEnabled()) {
76
-			return false;
77
-		}
78
-
79
-		// Purge to save space (if allowed)
80
-		if ($quotaExceeded && $this->canPurgeToSaveSpace) {
81
-			return true;
82
-		}
83
-
84
-		$time = $this->timeFactory->getTime();
85
-		// Never expire dates in future e.g. misconfiguration or negative time
86
-		// adjustment
87
-		if ($time<$timestamp) {
88
-			return false;
89
-		}
90
-
91
-		// Purge as too old
92
-		if ($this->maxAge !== self::NO_OBLIGATION) {
93
-			$maxTimestamp = $time - ($this->maxAge * 86400);
94
-			$isOlderThanMax = $timestamp < $maxTimestamp;
95
-		} else {
96
-			$isOlderThanMax = false;
97
-		}
98
-
99
-		if ($this->minAge !== self::NO_OBLIGATION) {
100
-			// older than Min obligation and we are running out of quota?
101
-			$minTimestamp = $time - ($this->minAge * 86400);
102
-			$isMinReached = ($timestamp < $minTimestamp) && $quotaExceeded;
103
-		} else {
104
-			$isMinReached = false;
105
-		}
106
-
107
-		return $isOlderThanMax || $isMinReached;
108
-	}
109
-
110
-	/**
111
-	 * @return bool|int
112
-	 */
113
-	public function getMaxAgeAsTimestamp() {
114
-		$maxAge = false;
115
-		if ($this->isEnabled() && $this->maxAge !== self::NO_OBLIGATION) {
116
-			$time = $this->timeFactory->getTime();
117
-			$maxAge = $time - ($this->maxAge * 86400);
118
-		}
119
-		return $maxAge;
120
-	}
121
-
122
-	private function parseRetentionObligation(){
123
-		$splitValues = explode(',', $this->retentionObligation);
124
-		if (!isset($splitValues[0])) {
125
-			$minValue = self::DEFAULT_RETENTION_OBLIGATION;
126
-		} else {
127
-			$minValue = trim($splitValues[0]);
128
-		}
129
-
130
-		if (!isset($splitValues[1]) && $minValue === 'auto') {
131
-			$maxValue = 'auto';
132
-		} elseif (!isset($splitValues[1])) {
133
-			$maxValue = self::DEFAULT_RETENTION_OBLIGATION;
134
-		} else {
135
-			$maxValue = trim($splitValues[1]);
136
-		}
137
-
138
-		if ($minValue === 'auto' && $maxValue === 'auto') {
139
-			// Default: Keep for 30 days but delete anytime if space needed
140
-			$this->minAge = self::DEFAULT_RETENTION_OBLIGATION;
141
-			$this->maxAge = self::NO_OBLIGATION;
142
-			$this->canPurgeToSaveSpace = true;
143
-		} elseif ($minValue !== 'auto' && $maxValue === 'auto') {
144
-			// Keep for X days but delete anytime if space needed
145
-			$this->minAge = intval($minValue);
146
-			$this->maxAge = self::NO_OBLIGATION;
147
-			$this->canPurgeToSaveSpace = true;
148
-		} elseif ($minValue === 'auto' && $maxValue !== 'auto') {
149
-			// Delete anytime if space needed, Delete all older than max automatically
150
-			$this->minAge = self::NO_OBLIGATION;
151
-			$this->maxAge = intval($maxValue);
152
-			$this->canPurgeToSaveSpace = true;
153
-		} elseif ($minValue !== 'auto' && $maxValue !== 'auto') {
154
-			// Delete all older than max OR older than min if space needed
155
-
156
-			// Max < Min as per https://github.com/owncloud/core/issues/16300
157
-			if ($maxValue < $minValue) {
158
-				$maxValue = $minValue;
159
-			}
160
-
161
-			$this->minAge = intval($minValue);
162
-			$this->maxAge = intval($maxValue);
163
-			$this->canPurgeToSaveSpace = false;
164
-		}
165
-	}
31
+    // how long do we keep files in the trash bin if no other value is defined in the config file (unit: days)
32
+    const DEFAULT_RETENTION_OBLIGATION = 30;
33
+    const NO_OBLIGATION = -1;
34
+
35
+    /** @var ITimeFactory */
36
+    private $timeFactory;
37
+
38
+    /** @var string */
39
+    private $retentionObligation;
40
+
41
+    /** @var int */
42
+    private $minAge;
43
+
44
+    /** @var int */
45
+    private $maxAge;
46
+
47
+    /** @var bool */
48
+    private $canPurgeToSaveSpace;
49
+
50
+    public function __construct(IConfig $config,ITimeFactory $timeFactory){
51
+        $this->timeFactory = $timeFactory;
52
+        $this->retentionObligation = $config->getSystemValue('trashbin_retention_obligation', 'auto');
53
+
54
+        if ($this->retentionObligation !== 'disabled') {
55
+            $this->parseRetentionObligation();
56
+        }
57
+    }
58
+
59
+    /**
60
+     * Is trashbin expiration enabled
61
+     * @return bool
62
+     */
63
+    public function isEnabled(){
64
+        return $this->retentionObligation !== 'disabled';
65
+    }
66
+
67
+    /**
68
+     * Check if given timestamp in expiration range
69
+     * @param int $timestamp
70
+     * @param bool $quotaExceeded
71
+     * @return bool
72
+     */
73
+    public function isExpired($timestamp, $quotaExceeded = false){
74
+        // No expiration if disabled
75
+        if (!$this->isEnabled()) {
76
+            return false;
77
+        }
78
+
79
+        // Purge to save space (if allowed)
80
+        if ($quotaExceeded && $this->canPurgeToSaveSpace) {
81
+            return true;
82
+        }
83
+
84
+        $time = $this->timeFactory->getTime();
85
+        // Never expire dates in future e.g. misconfiguration or negative time
86
+        // adjustment
87
+        if ($time<$timestamp) {
88
+            return false;
89
+        }
90
+
91
+        // Purge as too old
92
+        if ($this->maxAge !== self::NO_OBLIGATION) {
93
+            $maxTimestamp = $time - ($this->maxAge * 86400);
94
+            $isOlderThanMax = $timestamp < $maxTimestamp;
95
+        } else {
96
+            $isOlderThanMax = false;
97
+        }
98
+
99
+        if ($this->minAge !== self::NO_OBLIGATION) {
100
+            // older than Min obligation and we are running out of quota?
101
+            $minTimestamp = $time - ($this->minAge * 86400);
102
+            $isMinReached = ($timestamp < $minTimestamp) && $quotaExceeded;
103
+        } else {
104
+            $isMinReached = false;
105
+        }
106
+
107
+        return $isOlderThanMax || $isMinReached;
108
+    }
109
+
110
+    /**
111
+     * @return bool|int
112
+     */
113
+    public function getMaxAgeAsTimestamp() {
114
+        $maxAge = false;
115
+        if ($this->isEnabled() && $this->maxAge !== self::NO_OBLIGATION) {
116
+            $time = $this->timeFactory->getTime();
117
+            $maxAge = $time - ($this->maxAge * 86400);
118
+        }
119
+        return $maxAge;
120
+    }
121
+
122
+    private function parseRetentionObligation(){
123
+        $splitValues = explode(',', $this->retentionObligation);
124
+        if (!isset($splitValues[0])) {
125
+            $minValue = self::DEFAULT_RETENTION_OBLIGATION;
126
+        } else {
127
+            $minValue = trim($splitValues[0]);
128
+        }
129
+
130
+        if (!isset($splitValues[1]) && $minValue === 'auto') {
131
+            $maxValue = 'auto';
132
+        } elseif (!isset($splitValues[1])) {
133
+            $maxValue = self::DEFAULT_RETENTION_OBLIGATION;
134
+        } else {
135
+            $maxValue = trim($splitValues[1]);
136
+        }
137
+
138
+        if ($minValue === 'auto' && $maxValue === 'auto') {
139
+            // Default: Keep for 30 days but delete anytime if space needed
140
+            $this->minAge = self::DEFAULT_RETENTION_OBLIGATION;
141
+            $this->maxAge = self::NO_OBLIGATION;
142
+            $this->canPurgeToSaveSpace = true;
143
+        } elseif ($minValue !== 'auto' && $maxValue === 'auto') {
144
+            // Keep for X days but delete anytime if space needed
145
+            $this->minAge = intval($minValue);
146
+            $this->maxAge = self::NO_OBLIGATION;
147
+            $this->canPurgeToSaveSpace = true;
148
+        } elseif ($minValue === 'auto' && $maxValue !== 'auto') {
149
+            // Delete anytime if space needed, Delete all older than max automatically
150
+            $this->minAge = self::NO_OBLIGATION;
151
+            $this->maxAge = intval($maxValue);
152
+            $this->canPurgeToSaveSpace = true;
153
+        } elseif ($minValue !== 'auto' && $maxValue !== 'auto') {
154
+            // Delete all older than max OR older than min if space needed
155
+
156
+            // Max < Min as per https://github.com/owncloud/core/issues/16300
157
+            if ($maxValue < $minValue) {
158
+                $maxValue = $minValue;
159
+            }
160
+
161
+            $this->minAge = intval($minValue);
162
+            $this->maxAge = intval($maxValue);
163
+            $this->canPurgeToSaveSpace = false;
164
+        }
165
+    }
166 166
 }
Please login to merge, or discard this patch.
Spacing   +5 added lines, -5 removed lines patch added patch discarded remove patch
@@ -47,7 +47,7 @@  discard block
 block discarded – undo
47 47
 	/** @var bool */
48 48
 	private $canPurgeToSaveSpace;
49 49
 
50
-	public function __construct(IConfig $config,ITimeFactory $timeFactory){
50
+	public function __construct(IConfig $config, ITimeFactory $timeFactory) {
51 51
 		$this->timeFactory = $timeFactory;
52 52
 		$this->retentionObligation = $config->getSystemValue('trashbin_retention_obligation', 'auto');
53 53
 
@@ -60,7 +60,7 @@  discard block
 block discarded – undo
60 60
 	 * Is trashbin expiration enabled
61 61
 	 * @return bool
62 62
 	 */
63
-	public function isEnabled(){
63
+	public function isEnabled() {
64 64
 		return $this->retentionObligation !== 'disabled';
65 65
 	}
66 66
 
@@ -70,7 +70,7 @@  discard block
 block discarded – undo
70 70
 	 * @param bool $quotaExceeded
71 71
 	 * @return bool
72 72
 	 */
73
-	public function isExpired($timestamp, $quotaExceeded = false){
73
+	public function isExpired($timestamp, $quotaExceeded = false) {
74 74
 		// No expiration if disabled
75 75
 		if (!$this->isEnabled()) {
76 76
 			return false;
@@ -84,7 +84,7 @@  discard block
 block discarded – undo
84 84
 		$time = $this->timeFactory->getTime();
85 85
 		// Never expire dates in future e.g. misconfiguration or negative time
86 86
 		// adjustment
87
-		if ($time<$timestamp) {
87
+		if ($time < $timestamp) {
88 88
 			return false;
89 89
 		}
90 90
 
@@ -119,7 +119,7 @@  discard block
 block discarded – undo
119 119
 		return $maxAge;
120 120
 	}
121 121
 
122
-	private function parseRetentionObligation(){
122
+	private function parseRetentionObligation() {
123 123
 		$splitValues = explode(',', $this->retentionObligation);
124 124
 		if (!isset($splitValues[0])) {
125 125
 			$minValue = self::DEFAULT_RETENTION_OBLIGATION;
Please login to merge, or discard this patch.
apps/files_trashbin/appinfo/routes.php 1 patch
Indentation   +11 added lines, -11 removed lines patch added patch discarded remove patch
@@ -27,21 +27,21 @@
 block discarded – undo
27 27
 
28 28
 $application = new Application();
29 29
 $application->registerRoutes($this, [
30
-	'routes' => [
31
-		[
32
-			'name' => 'Preview#getPreview',
33
-			'url' => '/ajax/preview.php',
34
-			'verb' => 'GET',
35
-		],
36
-	],
30
+    'routes' => [
31
+        [
32
+            'name' => 'Preview#getPreview',
33
+            'url' => '/ajax/preview.php',
34
+            'verb' => 'GET',
35
+        ],
36
+    ],
37 37
 ]);
38 38
 
39 39
 $this->create('files_trashbin_ajax_delete', 'ajax/delete.php')
40
-	->actionInclude('files_trashbin/ajax/delete.php');
40
+    ->actionInclude('files_trashbin/ajax/delete.php');
41 41
 $this->create('files_trashbin_ajax_isEmpty', 'ajax/isEmpty.php')
42
-	->actionInclude('files_trashbin/ajax/isEmpty.php');
42
+    ->actionInclude('files_trashbin/ajax/isEmpty.php');
43 43
 $this->create('files_trashbin_ajax_list', 'ajax/list.php')
44
-	->actionInclude('files_trashbin/ajax/list.php');
44
+    ->actionInclude('files_trashbin/ajax/list.php');
45 45
 $this->create('files_trashbin_ajax_undelete', 'ajax/undelete.php')
46
-	->actionInclude('files_trashbin/ajax/undelete.php');
46
+    ->actionInclude('files_trashbin/ajax/undelete.php');
47 47
 
Please login to merge, or discard this patch.
apps/sharebymail/lib/Activity.php 1 patch
Indentation   +232 added lines, -232 removed lines patch added patch discarded remove patch
@@ -33,236 +33,236 @@
 block discarded – undo
33 33
 
34 34
 class Activity implements IProvider {
35 35
 
36
-	/** @var IFactory */
37
-	protected $languageFactory;
38
-
39
-	/** @var IL10N */
40
-	protected $l;
41
-
42
-	/** @var IURLGenerator */
43
-	protected $url;
44
-
45
-	/** @var IManager */
46
-	protected $activityManager;
47
-
48
-	/** @var IUserManager */
49
-	protected $userManager;
50
-	/** @var IContactsManager */
51
-	protected $contactsManager;
52
-
53
-	/** @var array */
54
-	protected $displayNames = [];
55
-
56
-	/** @var array */
57
-	protected $contactNames = [];
58
-
59
-	const SUBJECT_SHARED_EMAIL_SELF = 'shared_with_email_self';
60
-	const SUBJECT_SHARED_EMAIL_BY = 'shared_with_email_by';
61
-
62
-	/**
63
-	 * @param IFactory $languageFactory
64
-	 * @param IURLGenerator $url
65
-	 * @param IManager $activityManager
66
-	 * @param IUserManager $userManager
67
-	 * @param IContactsManager $contactsManager
68
-	 */
69
-	public function __construct(IFactory $languageFactory, IURLGenerator $url, IManager $activityManager, IUserManager $userManager, IContactsManager $contactsManager) {
70
-		$this->languageFactory = $languageFactory;
71
-		$this->url = $url;
72
-		$this->activityManager = $activityManager;
73
-		$this->userManager = $userManager;
74
-		$this->contactsManager = $contactsManager;
75
-	}
76
-
77
-	/**
78
-	 * @param string $language
79
-	 * @param IEvent $event
80
-	 * @param IEvent|null $previousEvent
81
-	 * @return IEvent
82
-	 * @throws \InvalidArgumentException
83
-	 * @since 11.0.0
84
-	 */
85
-	public function parse($language, IEvent $event, IEvent $previousEvent = null) {
86
-		if ($event->getApp() !== 'sharebymail') {
87
-			throw new \InvalidArgumentException();
88
-		}
89
-
90
-		$this->l = $this->languageFactory->get('sharebymail', $language);
91
-
92
-		if ($this->activityManager->isFormattingFilteredObject()) {
93
-			try {
94
-				return $this->parseShortVersion($event);
95
-			} catch (\InvalidArgumentException $e) {
96
-				// Ignore and simply use the long version...
97
-			}
98
-		}
99
-
100
-		return $this->parseLongVersion($event);
101
-	}
102
-
103
-	/**
104
-	 * @param IEvent $event
105
-	 * @return IEvent
106
-	 * @throws \InvalidArgumentException
107
-	 * @since 11.0.0
108
-	 */
109
-	public function parseShortVersion(IEvent $event) {
110
-		$parsedParameters = $this->getParsedParameters($event);
111
-
112
-		if ($event->getSubject() === self::SUBJECT_SHARED_EMAIL_SELF) {
113
-			$event->setParsedSubject($this->l->t('Shared with %1$s', [
114
-					$parsedParameters['email']['name'],
115
-				]))
116
-				->setRichSubject($this->l->t('Shared with {email}'), [
117
-					'email' => $parsedParameters['email'],
118
-				])
119
-				->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/share.svg')));
120
-		} else if ($event->getSubject() === self::SUBJECT_SHARED_EMAIL_BY) {
121
-			$event->setParsedSubject($this->l->t('Shared with %1$s by %2$s', [
122
-					$parsedParameters['email']['name'],
123
-					$parsedParameters['actor']['name'],
124
-				]))
125
-				->setRichSubject($this->l->t('Shared with {email} by {actor}'), [
126
-					'email' => $parsedParameters['email'],
127
-					'actor' => $parsedParameters['actor'],
128
-				])
129
-				->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/share.svg')));
130
-
131
-		} else {
132
-			throw new \InvalidArgumentException();
133
-		}
134
-
135
-		return $event;
136
-	}
137
-
138
-	/**
139
-	 * @param IEvent $event
140
-	 * @return IEvent
141
-	 * @throws \InvalidArgumentException
142
-	 * @since 11.0.0
143
-	 */
144
-	public function parseLongVersion(IEvent $event) {
145
-		$parsedParameters = $this->getParsedParameters($event);
146
-
147
-		if ($event->getSubject() === self::SUBJECT_SHARED_EMAIL_SELF) {
148
-			$event->setParsedSubject($this->l->t('You shared %1$s with %2$s by mail', [
149
-					$parsedParameters['file']['path'],
150
-					$parsedParameters['email']['name'],
151
-				]))
152
-				->setRichSubject($this->l->t('You shared {file} with {email} by mail'), $parsedParameters)
153
-				->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/share.svg')));
154
-		} else if ($event->getSubject() === self::SUBJECT_SHARED_EMAIL_BY) {
155
-			$event->setParsedSubject($this->l->t('%3$s shared %1$s with %2$s by mail', [
156
-					$parsedParameters['file']['path'],
157
-					$parsedParameters['email']['name'],
158
-					$parsedParameters['actor']['name'],
159
-				]))
160
-				->setRichSubject($this->l->t('{actor} shared {file} with {email} by mail'), $parsedParameters)
161
-				->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/share.svg')));
162
-		} else {
163
-			throw new \InvalidArgumentException();
164
-		}
165
-
166
-		return $event;
167
-	}
168
-
169
-	protected function getParsedParameters(IEvent $event) {
170
-		$subject = $event->getSubject();
171
-		$parameters = $event->getSubjectParameters();
172
-
173
-		switch ($subject) {
174
-			case self::SUBJECT_SHARED_EMAIL_SELF:
175
-				return [
176
-					'file' => $this->generateFileParameter((int) $event->getObjectId(), $parameters[0]),
177
-					'email' => $this->generateEmailParameter($parameters[1]),
178
-				];
179
-			case self::SUBJECT_SHARED_EMAIL_BY:
180
-				return [
181
-					'file' => $this->generateFileParameter((int) $event->getObjectId(), $parameters[0]),
182
-					'email' => $this->generateEmailParameter($parameters[1]),
183
-					'actor' => $this->generateUserParameter($parameters[2]),
184
-				];
185
-		}
186
-		throw new \InvalidArgumentException();
187
-	}
188
-
189
-	/**
190
-	 * @param int $id
191
-	 * @param string $path
192
-	 * @return array
193
-	 */
194
-	protected function generateFileParameter($id, $path) {
195
-		return [
196
-			'type' => 'file',
197
-			'id' => $id,
198
-			'name' => basename($path),
199
-			'path' => trim($path, '/'),
200
-			'link' => $this->url->linkToRouteAbsolute('files.viewcontroller.showFile', ['fileid' => $id]),
201
-		];
202
-	}
203
-
204
-	/**
205
-	 * @param string $email
206
-	 * @return array
207
-	 */
208
-	protected function generateEmailParameter($email) {
209
-		if (!isset($this->contactNames[$email])) {
210
-			$this->contactNames[$email] = $this->getContactName($email);
211
-		}
212
-
213
-		return [
214
-			'type' => 'email',
215
-			'id' => $email,
216
-			'name' => $this->contactNames[$email],
217
-		];
218
-	}
219
-
220
-	/**
221
-	 * @param string $uid
222
-	 * @return array
223
-	 */
224
-	protected function generateUserParameter($uid) {
225
-		if (!isset($this->displayNames[$uid])) {
226
-			$this->displayNames[$uid] = $this->getDisplayName($uid);
227
-		}
228
-
229
-		return [
230
-			'type' => 'user',
231
-			'id' => $uid,
232
-			'name' => $this->displayNames[$uid],
233
-		];
234
-	}
235
-
236
-	/**
237
-	 * @param string $email
238
-	 * @return string
239
-	 */
240
-	protected function getContactName($email) {
241
-		$addressBookContacts = $this->contactsManager->search($email, ['EMAIL']);
242
-
243
-		foreach ($addressBookContacts as $contact) {
244
-			if (isset($contact['isLocalSystemBook'])) {
245
-				continue;
246
-			}
247
-
248
-			if (in_array($email, $contact['EMAIL'])) {
249
-				return $contact['FN'];
250
-			}
251
-		}
252
-
253
-		return $email;
254
-	}
255
-
256
-	/**
257
-	 * @param string $uid
258
-	 * @return string
259
-	 */
260
-	protected function getDisplayName($uid) {
261
-		$user = $this->userManager->get($uid);
262
-		if ($user instanceof IUser) {
263
-			return $user->getDisplayName();
264
-		} else {
265
-			return $uid;
266
-		}
267
-	}
36
+    /** @var IFactory */
37
+    protected $languageFactory;
38
+
39
+    /** @var IL10N */
40
+    protected $l;
41
+
42
+    /** @var IURLGenerator */
43
+    protected $url;
44
+
45
+    /** @var IManager */
46
+    protected $activityManager;
47
+
48
+    /** @var IUserManager */
49
+    protected $userManager;
50
+    /** @var IContactsManager */
51
+    protected $contactsManager;
52
+
53
+    /** @var array */
54
+    protected $displayNames = [];
55
+
56
+    /** @var array */
57
+    protected $contactNames = [];
58
+
59
+    const SUBJECT_SHARED_EMAIL_SELF = 'shared_with_email_self';
60
+    const SUBJECT_SHARED_EMAIL_BY = 'shared_with_email_by';
61
+
62
+    /**
63
+     * @param IFactory $languageFactory
64
+     * @param IURLGenerator $url
65
+     * @param IManager $activityManager
66
+     * @param IUserManager $userManager
67
+     * @param IContactsManager $contactsManager
68
+     */
69
+    public function __construct(IFactory $languageFactory, IURLGenerator $url, IManager $activityManager, IUserManager $userManager, IContactsManager $contactsManager) {
70
+        $this->languageFactory = $languageFactory;
71
+        $this->url = $url;
72
+        $this->activityManager = $activityManager;
73
+        $this->userManager = $userManager;
74
+        $this->contactsManager = $contactsManager;
75
+    }
76
+
77
+    /**
78
+     * @param string $language
79
+     * @param IEvent $event
80
+     * @param IEvent|null $previousEvent
81
+     * @return IEvent
82
+     * @throws \InvalidArgumentException
83
+     * @since 11.0.0
84
+     */
85
+    public function parse($language, IEvent $event, IEvent $previousEvent = null) {
86
+        if ($event->getApp() !== 'sharebymail') {
87
+            throw new \InvalidArgumentException();
88
+        }
89
+
90
+        $this->l = $this->languageFactory->get('sharebymail', $language);
91
+
92
+        if ($this->activityManager->isFormattingFilteredObject()) {
93
+            try {
94
+                return $this->parseShortVersion($event);
95
+            } catch (\InvalidArgumentException $e) {
96
+                // Ignore and simply use the long version...
97
+            }
98
+        }
99
+
100
+        return $this->parseLongVersion($event);
101
+    }
102
+
103
+    /**
104
+     * @param IEvent $event
105
+     * @return IEvent
106
+     * @throws \InvalidArgumentException
107
+     * @since 11.0.0
108
+     */
109
+    public function parseShortVersion(IEvent $event) {
110
+        $parsedParameters = $this->getParsedParameters($event);
111
+
112
+        if ($event->getSubject() === self::SUBJECT_SHARED_EMAIL_SELF) {
113
+            $event->setParsedSubject($this->l->t('Shared with %1$s', [
114
+                    $parsedParameters['email']['name'],
115
+                ]))
116
+                ->setRichSubject($this->l->t('Shared with {email}'), [
117
+                    'email' => $parsedParameters['email'],
118
+                ])
119
+                ->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/share.svg')));
120
+        } else if ($event->getSubject() === self::SUBJECT_SHARED_EMAIL_BY) {
121
+            $event->setParsedSubject($this->l->t('Shared with %1$s by %2$s', [
122
+                    $parsedParameters['email']['name'],
123
+                    $parsedParameters['actor']['name'],
124
+                ]))
125
+                ->setRichSubject($this->l->t('Shared with {email} by {actor}'), [
126
+                    'email' => $parsedParameters['email'],
127
+                    'actor' => $parsedParameters['actor'],
128
+                ])
129
+                ->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/share.svg')));
130
+
131
+        } else {
132
+            throw new \InvalidArgumentException();
133
+        }
134
+
135
+        return $event;
136
+    }
137
+
138
+    /**
139
+     * @param IEvent $event
140
+     * @return IEvent
141
+     * @throws \InvalidArgumentException
142
+     * @since 11.0.0
143
+     */
144
+    public function parseLongVersion(IEvent $event) {
145
+        $parsedParameters = $this->getParsedParameters($event);
146
+
147
+        if ($event->getSubject() === self::SUBJECT_SHARED_EMAIL_SELF) {
148
+            $event->setParsedSubject($this->l->t('You shared %1$s with %2$s by mail', [
149
+                    $parsedParameters['file']['path'],
150
+                    $parsedParameters['email']['name'],
151
+                ]))
152
+                ->setRichSubject($this->l->t('You shared {file} with {email} by mail'), $parsedParameters)
153
+                ->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/share.svg')));
154
+        } else if ($event->getSubject() === self::SUBJECT_SHARED_EMAIL_BY) {
155
+            $event->setParsedSubject($this->l->t('%3$s shared %1$s with %2$s by mail', [
156
+                    $parsedParameters['file']['path'],
157
+                    $parsedParameters['email']['name'],
158
+                    $parsedParameters['actor']['name'],
159
+                ]))
160
+                ->setRichSubject($this->l->t('{actor} shared {file} with {email} by mail'), $parsedParameters)
161
+                ->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/share.svg')));
162
+        } else {
163
+            throw new \InvalidArgumentException();
164
+        }
165
+
166
+        return $event;
167
+    }
168
+
169
+    protected function getParsedParameters(IEvent $event) {
170
+        $subject = $event->getSubject();
171
+        $parameters = $event->getSubjectParameters();
172
+
173
+        switch ($subject) {
174
+            case self::SUBJECT_SHARED_EMAIL_SELF:
175
+                return [
176
+                    'file' => $this->generateFileParameter((int) $event->getObjectId(), $parameters[0]),
177
+                    'email' => $this->generateEmailParameter($parameters[1]),
178
+                ];
179
+            case self::SUBJECT_SHARED_EMAIL_BY:
180
+                return [
181
+                    'file' => $this->generateFileParameter((int) $event->getObjectId(), $parameters[0]),
182
+                    'email' => $this->generateEmailParameter($parameters[1]),
183
+                    'actor' => $this->generateUserParameter($parameters[2]),
184
+                ];
185
+        }
186
+        throw new \InvalidArgumentException();
187
+    }
188
+
189
+    /**
190
+     * @param int $id
191
+     * @param string $path
192
+     * @return array
193
+     */
194
+    protected function generateFileParameter($id, $path) {
195
+        return [
196
+            'type' => 'file',
197
+            'id' => $id,
198
+            'name' => basename($path),
199
+            'path' => trim($path, '/'),
200
+            'link' => $this->url->linkToRouteAbsolute('files.viewcontroller.showFile', ['fileid' => $id]),
201
+        ];
202
+    }
203
+
204
+    /**
205
+     * @param string $email
206
+     * @return array
207
+     */
208
+    protected function generateEmailParameter($email) {
209
+        if (!isset($this->contactNames[$email])) {
210
+            $this->contactNames[$email] = $this->getContactName($email);
211
+        }
212
+
213
+        return [
214
+            'type' => 'email',
215
+            'id' => $email,
216
+            'name' => $this->contactNames[$email],
217
+        ];
218
+    }
219
+
220
+    /**
221
+     * @param string $uid
222
+     * @return array
223
+     */
224
+    protected function generateUserParameter($uid) {
225
+        if (!isset($this->displayNames[$uid])) {
226
+            $this->displayNames[$uid] = $this->getDisplayName($uid);
227
+        }
228
+
229
+        return [
230
+            'type' => 'user',
231
+            'id' => $uid,
232
+            'name' => $this->displayNames[$uid],
233
+        ];
234
+    }
235
+
236
+    /**
237
+     * @param string $email
238
+     * @return string
239
+     */
240
+    protected function getContactName($email) {
241
+        $addressBookContacts = $this->contactsManager->search($email, ['EMAIL']);
242
+
243
+        foreach ($addressBookContacts as $contact) {
244
+            if (isset($contact['isLocalSystemBook'])) {
245
+                continue;
246
+            }
247
+
248
+            if (in_array($email, $contact['EMAIL'])) {
249
+                return $contact['FN'];
250
+            }
251
+        }
252
+
253
+        return $email;
254
+    }
255
+
256
+    /**
257
+     * @param string $uid
258
+     * @return string
259
+     */
260
+    protected function getDisplayName($uid) {
261
+        $user = $this->userManager->get($uid);
262
+        if ($user instanceof IUser) {
263
+            return $user->getDisplayName();
264
+        } else {
265
+            return $uid;
266
+        }
267
+    }
268 268
 }
Please login to merge, or discard this patch.
apps/sharebymail/lib/Settings.php 1 patch
Indentation   +10 added lines, -10 removed lines patch added patch discarded remove patch
@@ -25,14 +25,14 @@
 block discarded – undo
25 25
 
26 26
 class Settings {
27 27
 
28
-	/**
29
-	 * announce that the share-by-mail share provider is enabled
30
-	 *
31
-	 * @param array $settings
32
-	 */
33
-	public function announceShareProvider(array $settings) {
34
-		$array = json_decode($settings['array']['oc_appconfig'], true);
35
-		$array['shareByMailEnabled'] = true;
36
-		$settings['array']['oc_appconfig'] = json_encode($array);
37
-	}
28
+    /**
29
+     * announce that the share-by-mail share provider is enabled
30
+     *
31
+     * @param array $settings
32
+     */
33
+    public function announceShareProvider(array $settings) {
34
+        $array = json_decode($settings['array']['oc_appconfig'], true);
35
+        $array['shareByMailEnabled'] = true;
36
+        $settings['array']['oc_appconfig'] = json_encode($array);
37
+    }
38 38
 }
Please login to merge, or discard this patch.
apps/workflowengine/templates/admin.php 1 patch
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -27,7 +27,7 @@
 block discarded – undo
27 27
 
28 28
 	<?php if (!empty($_['docs'])): ?>
29 29
 		<a target="_blank" rel="noreferrer" class="icon-info svg"
30
-		   title="<?php p($l->t('Open documentation'));?>"
30
+		   title="<?php p($l->t('Open documentation')); ?>"
31 31
 		   href="<?php p(link_to_docs($_['docs'])); ?>">
32 32
 		</a>
33 33
 	<?php endif; ?>
Please login to merge, or discard this patch.
apps/workflowengine/lib/Controller/RequestTime.php 2 patches
Indentation   +20 added lines, -20 removed lines patch added patch discarded remove patch
@@ -26,27 +26,27 @@
 block discarded – undo
26 26
 
27 27
 class RequestTime extends Controller {
28 28
 
29
-	/**
30
-	 * @NoAdminRequired
31
-	 *
32
-	 * @param string $search
33
-	 * @return JSONResponse
34
-	 */
35
-	public function getTimezones($search = '') {
36
-		$timezones = \DateTimeZone::listIdentifiers();
29
+    /**
30
+     * @NoAdminRequired
31
+     *
32
+     * @param string $search
33
+     * @return JSONResponse
34
+     */
35
+    public function getTimezones($search = '') {
36
+        $timezones = \DateTimeZone::listIdentifiers();
37 37
 
38
-		if ($search !== '') {
39
-			$timezones = array_filter($timezones, function ($timezone) use ($search) {
40
-				return strpos(strtolower($timezone), strtolower($search)) !== false;
41
-			});
42
-		}
38
+        if ($search !== '') {
39
+            $timezones = array_filter($timezones, function ($timezone) use ($search) {
40
+                return strpos(strtolower($timezone), strtolower($search)) !== false;
41
+            });
42
+        }
43 43
 
44
-		$timezones = array_slice($timezones, 0, 10);
44
+        $timezones = array_slice($timezones, 0, 10);
45 45
 
46
-		$response = [];
47
-		foreach ($timezones as $timezone) {
48
-			$response[$timezone] = $timezone;
49
-		}
50
-		return new JSONResponse($response);
51
-	}
46
+        $response = [];
47
+        foreach ($timezones as $timezone) {
48
+            $response[$timezone] = $timezone;
49
+        }
50
+        return new JSONResponse($response);
51
+    }
52 52
 }
Please login to merge, or discard this patch.
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -36,7 +36,7 @@
 block discarded – undo
36 36
 		$timezones = \DateTimeZone::listIdentifiers();
37 37
 
38 38
 		if ($search !== '') {
39
-			$timezones = array_filter($timezones, function ($timezone) use ($search) {
39
+			$timezones = array_filter($timezones, function($timezone) use ($search) {
40 40
 				return strpos(strtolower($timezone), strtolower($search)) !== false;
41 41
 			});
42 42
 		}
Please login to merge, or discard this patch.
apps/workflowengine/lib/Controller/FlowOperations.php 1 patch
Indentation   +85 added lines, -85 removed lines patch added patch discarded remove patch
@@ -29,100 +29,100 @@
 block discarded – undo
29 29
 
30 30
 class FlowOperations extends Controller {
31 31
 
32
-	/** @var Manager */
33
-	protected $manager;
32
+    /** @var Manager */
33
+    protected $manager;
34 34
 
35
-	/**
36
-	 * @param IRequest $request
37
-	 * @param Manager $manager
38
-	 */
39
-	public function __construct(IRequest $request, Manager $manager) {
40
-		parent::__construct('workflowengine', $request);
41
-		$this->manager = $manager;
42
-	}
35
+    /**
36
+     * @param IRequest $request
37
+     * @param Manager $manager
38
+     */
39
+    public function __construct(IRequest $request, Manager $manager) {
40
+        parent::__construct('workflowengine', $request);
41
+        $this->manager = $manager;
42
+    }
43 43
 
44
-	/**
45
-	 * @NoCSRFRequired
46
-	 *
47
-	 * @param string $class
48
-	 * @return JSONResponse
49
-	 */
50
-	public function getOperations($class) {
51
-		$operations = $this->manager->getOperations($class);
44
+    /**
45
+     * @NoCSRFRequired
46
+     *
47
+     * @param string $class
48
+     * @return JSONResponse
49
+     */
50
+    public function getOperations($class) {
51
+        $operations = $this->manager->getOperations($class);
52 52
 
53
-		foreach ($operations as &$operation) {
54
-			$operation = $this->prepareOperation($operation);
55
-		}
53
+        foreach ($operations as &$operation) {
54
+            $operation = $this->prepareOperation($operation);
55
+        }
56 56
 
57
-		return new JSONResponse($operations);
58
-	}
57
+        return new JSONResponse($operations);
58
+    }
59 59
 
60
-	/**
61
-	 * @PasswordConfirmationRequired
62
-	 *
63
-	 * @param string $class
64
-	 * @param string $name
65
-	 * @param array[] $checks
66
-	 * @param string $operation
67
-	 * @return JSONResponse The added element
68
-	 */
69
-	public function addOperation($class, $name, $checks, $operation) {
70
-		try {
71
-			$operation = $this->manager->addOperation($class, $name, $checks, $operation);
72
-			$operation = $this->prepareOperation($operation);
73
-			return new JSONResponse($operation);
74
-		} catch (\UnexpectedValueException $e) {
75
-			return new JSONResponse($e->getMessage(), Http::STATUS_BAD_REQUEST);
76
-		}
77
-	}
60
+    /**
61
+     * @PasswordConfirmationRequired
62
+     *
63
+     * @param string $class
64
+     * @param string $name
65
+     * @param array[] $checks
66
+     * @param string $operation
67
+     * @return JSONResponse The added element
68
+     */
69
+    public function addOperation($class, $name, $checks, $operation) {
70
+        try {
71
+            $operation = $this->manager->addOperation($class, $name, $checks, $operation);
72
+            $operation = $this->prepareOperation($operation);
73
+            return new JSONResponse($operation);
74
+        } catch (\UnexpectedValueException $e) {
75
+            return new JSONResponse($e->getMessage(), Http::STATUS_BAD_REQUEST);
76
+        }
77
+    }
78 78
 
79
-	/**
80
-	 * @PasswordConfirmationRequired
81
-	 *
82
-	 * @param int $id
83
-	 * @param string $name
84
-	 * @param array[] $checks
85
-	 * @param string $operation
86
-	 * @return JSONResponse The updated element
87
-	 */
88
-	public function updateOperation($id, $name, $checks, $operation) {
89
-		try {
90
-			$operation = $this->manager->updateOperation($id, $name, $checks, $operation);
91
-			$operation = $this->prepareOperation($operation);
92
-			return new JSONResponse($operation);
93
-		} catch (\UnexpectedValueException $e) {
94
-			return new JSONResponse($e->getMessage(), Http::STATUS_BAD_REQUEST);
95
-		}
96
-	}
79
+    /**
80
+     * @PasswordConfirmationRequired
81
+     *
82
+     * @param int $id
83
+     * @param string $name
84
+     * @param array[] $checks
85
+     * @param string $operation
86
+     * @return JSONResponse The updated element
87
+     */
88
+    public function updateOperation($id, $name, $checks, $operation) {
89
+        try {
90
+            $operation = $this->manager->updateOperation($id, $name, $checks, $operation);
91
+            $operation = $this->prepareOperation($operation);
92
+            return new JSONResponse($operation);
93
+        } catch (\UnexpectedValueException $e) {
94
+            return new JSONResponse($e->getMessage(), Http::STATUS_BAD_REQUEST);
95
+        }
96
+    }
97 97
 
98
-	/**
99
-	 * @PasswordConfirmationRequired
100
-	 *
101
-	 * @param int $id
102
-	 * @return JSONResponse
103
-	 */
104
-	public function deleteOperation($id) {
105
-		$deleted = $this->manager->deleteOperation((int) $id);
106
-		return new JSONResponse($deleted);
107
-	}
98
+    /**
99
+     * @PasswordConfirmationRequired
100
+     *
101
+     * @param int $id
102
+     * @return JSONResponse
103
+     */
104
+    public function deleteOperation($id) {
105
+        $deleted = $this->manager->deleteOperation((int) $id);
106
+        return new JSONResponse($deleted);
107
+    }
108 108
 
109
-	/**
110
-	 * @param array $operation
111
-	 * @return array
112
-	 */
113
-	protected function prepareOperation(array $operation) {
114
-		$checkIds = json_decode($operation['checks']);
115
-		$checks = $this->manager->getChecks($checkIds);
109
+    /**
110
+     * @param array $operation
111
+     * @return array
112
+     */
113
+    protected function prepareOperation(array $operation) {
114
+        $checkIds = json_decode($operation['checks']);
115
+        $checks = $this->manager->getChecks($checkIds);
116 116
 
117
-		$operation['checks'] = [];
118
-		foreach ($checks as $check) {
119
-			// Remove internal values
120
-			unset($check['id']);
121
-			unset($check['hash']);
117
+        $operation['checks'] = [];
118
+        foreach ($checks as $check) {
119
+            // Remove internal values
120
+            unset($check['id']);
121
+            unset($check['hash']);
122 122
 
123
-			$operation['checks'][] = $check;
124
-		}
123
+            $operation['checks'][] = $check;
124
+        }
125 125
 
126
-		return $operation;
127
-	}
126
+        return $operation;
127
+    }
128 128
 }
Please login to merge, or discard this patch.