Completed
Push — master ( 14f739...899b20 )
by
unknown
30:23 queued 14s
created
apps/dav/lib/CalDAV/Activity/Provider/Event.php 2 patches
Indentation   +224 added lines, -224 removed lines patch added patch discarded remove patch
@@ -17,228 +17,228 @@
 block discarded – undo
17 17
 use OCP\L10N\IFactory;
18 18
 
19 19
 class Event extends Base {
20
-	public const SUBJECT_OBJECT_ADD = 'object_add';
21
-	public const SUBJECT_OBJECT_UPDATE = 'object_update';
22
-	public const SUBJECT_OBJECT_MOVE = 'object_move';
23
-	public const SUBJECT_OBJECT_MOVE_TO_TRASH = 'object_move_to_trash';
24
-	public const SUBJECT_OBJECT_RESTORE = 'object_restore';
25
-	public const SUBJECT_OBJECT_DELETE = 'object_delete';
26
-
27
-	/** @var IL10N */
28
-	protected $l;
29
-
30
-	/**
31
-	 * @param IFactory $languageFactory
32
-	 * @param IURLGenerator $url
33
-	 * @param IManager $activityManager
34
-	 * @param IUserManager $userManager
35
-	 * @param IGroupManager $groupManager
36
-	 * @param IEventMerger $eventMerger
37
-	 * @param IAppManager $appManager
38
-	 */
39
-	public function __construct(
40
-		protected IFactory $languageFactory,
41
-		IURLGenerator $url,
42
-		protected IManager $activityManager,
43
-		IUserManager $userManager,
44
-		IGroupManager $groupManager,
45
-		protected IEventMerger $eventMerger,
46
-		protected IAppManager $appManager,
47
-	) {
48
-		parent::__construct($userManager, $groupManager, $url);
49
-	}
50
-
51
-	/**
52
-	 * @param array $eventData
53
-	 * @return array
54
-	 */
55
-	protected function generateObjectParameter(array $eventData, string $affectedUser): array {
56
-		if (!isset($eventData['id']) || !isset($eventData['name'])) {
57
-			throw new \InvalidArgumentException();
58
-		}
59
-
60
-		$params = [
61
-			'type' => 'calendar-event',
62
-			'id' => $eventData['id'],
63
-			'name' => trim($eventData['name']) !== '' ? $eventData['name'] : $this->l->t('Untitled event'),
64
-		];
65
-
66
-		if (isset($eventData['link']) && is_array($eventData['link']) && $this->appManager->isEnabledForUser('calendar')) {
67
-			try {
68
-				// The calendar app needs to be manually loaded for the routes to be loaded
69
-				$this->appManager->loadApp('calendar');
70
-				$linkData = $eventData['link'];
71
-				$calendarUri = $this->urlencodeLowerHex($linkData['calendar_uri']);
72
-				if ($affectedUser === $linkData['owner']) {
73
-					$objectId = base64_encode($this->url->getWebroot() . '/remote.php/dav/calendars/' . $linkData['owner'] . '/' . $calendarUri . '/' . $linkData['object_uri']);
74
-				} else {
75
-					// Can't use the "real" owner and calendar names here because we create a custom
76
-					// calendar for incoming shares with the name "<calendar>_shared_by_<sharer>".
77
-					// Hack: Fix the link by generating it for the incoming shared calendar instead,
78
-					//       as seen from the affected user.
79
-					$objectId = base64_encode($this->url->getWebroot() . '/remote.php/dav/calendars/' . $affectedUser . '/' . $calendarUri . '_shared_by_' . $linkData['owner'] . '/' . $linkData['object_uri']);
80
-				}
81
-				$params['link'] = $this->url->linkToRouteAbsolute('calendar.view.indexdirect.edit', [
82
-					'objectId' => $objectId,
83
-				]);
84
-			} catch (\Exception $error) {
85
-				// Do nothing
86
-			}
87
-		}
88
-		return $params;
89
-	}
90
-
91
-	/**
92
-	 * @param string $language
93
-	 * @param IEvent $event
94
-	 * @param IEvent|null $previousEvent
95
-	 * @return IEvent
96
-	 * @throws UnknownActivityException
97
-	 * @since 11.0.0
98
-	 */
99
-	public function parse($language, IEvent $event, ?IEvent $previousEvent = null) {
100
-		if ($event->getApp() !== 'dav' || $event->getType() !== 'calendar_event') {
101
-			throw new UnknownActivityException();
102
-		}
103
-
104
-		$this->l = $this->languageFactory->get('dav', $language);
105
-
106
-		if ($this->activityManager->getRequirePNG()) {
107
-			$event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'places/calendar-dark.png')));
108
-		} else {
109
-			$event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'places/calendar.svg')));
110
-		}
111
-
112
-		if ($event->getSubject() === self::SUBJECT_OBJECT_ADD . '_event') {
113
-			$subject = $this->l->t('{actor} created event {event} in calendar {calendar}');
114
-		} elseif ($event->getSubject() === self::SUBJECT_OBJECT_ADD . '_event_self') {
115
-			$subject = $this->l->t('You created event {event} in calendar {calendar}');
116
-		} elseif ($event->getSubject() === self::SUBJECT_OBJECT_DELETE . '_event') {
117
-			$subject = $this->l->t('{actor} deleted event {event} from calendar {calendar}');
118
-		} elseif ($event->getSubject() === self::SUBJECT_OBJECT_DELETE . '_event_self') {
119
-			$subject = $this->l->t('You deleted event {event} from calendar {calendar}');
120
-		} elseif ($event->getSubject() === self::SUBJECT_OBJECT_UPDATE . '_event') {
121
-			$subject = $this->l->t('{actor} updated event {event} in calendar {calendar}');
122
-		} elseif ($event->getSubject() === self::SUBJECT_OBJECT_UPDATE . '_event_self') {
123
-			$subject = $this->l->t('You updated event {event} in calendar {calendar}');
124
-		} elseif ($event->getSubject() === self::SUBJECT_OBJECT_MOVE . '_event') {
125
-			$subject = $this->l->t('{actor} moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}');
126
-		} elseif ($event->getSubject() === self::SUBJECT_OBJECT_MOVE . '_event_self') {
127
-			$subject = $this->l->t('You moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}');
128
-		} elseif ($event->getSubject() === self::SUBJECT_OBJECT_MOVE_TO_TRASH . '_event') {
129
-			$subject = $this->l->t('{actor} deleted event {event} from calendar {calendar}');
130
-		} elseif ($event->getSubject() === self::SUBJECT_OBJECT_MOVE_TO_TRASH . '_event_self') {
131
-			$subject = $this->l->t('You deleted event {event} from calendar {calendar}');
132
-		} elseif ($event->getSubject() === self::SUBJECT_OBJECT_RESTORE . '_event') {
133
-			$subject = $this->l->t('{actor} restored event {event} of calendar {calendar}');
134
-		} elseif ($event->getSubject() === self::SUBJECT_OBJECT_RESTORE . '_event_self') {
135
-			$subject = $this->l->t('You restored event {event} of calendar {calendar}');
136
-		} else {
137
-			throw new UnknownActivityException();
138
-		}
139
-
140
-		$parsedParameters = $this->getParameters($event);
141
-		$this->setSubjects($event, $subject, $parsedParameters);
142
-
143
-		$event = $this->eventMerger->mergeEvents('event', $event, $previousEvent);
144
-
145
-		return $event;
146
-	}
147
-
148
-	/**
149
-	 * @param IEvent $event
150
-	 * @return array
151
-	 */
152
-	protected function getParameters(IEvent $event) {
153
-		$subject = $event->getSubject();
154
-		$parameters = $event->getSubjectParameters();
155
-
156
-		// Nextcloud 13+
157
-		if (isset($parameters['calendar'])) {
158
-			switch ($subject) {
159
-				case self::SUBJECT_OBJECT_ADD . '_event':
160
-				case self::SUBJECT_OBJECT_DELETE . '_event':
161
-				case self::SUBJECT_OBJECT_UPDATE . '_event':
162
-				case self::SUBJECT_OBJECT_MOVE_TO_TRASH . '_event':
163
-				case self::SUBJECT_OBJECT_RESTORE . '_event':
164
-					return [
165
-						'actor' => $this->generateUserParameter($parameters['actor']),
166
-						'calendar' => $this->generateCalendarParameter($parameters['calendar'], $this->l),
167
-						'event' => $this->generateClassifiedObjectParameter($parameters['object'], $event->getAffectedUser()),
168
-					];
169
-				case self::SUBJECT_OBJECT_ADD . '_event_self':
170
-				case self::SUBJECT_OBJECT_DELETE . '_event_self':
171
-				case self::SUBJECT_OBJECT_UPDATE . '_event_self':
172
-				case self::SUBJECT_OBJECT_MOVE_TO_TRASH . '_event_self':
173
-				case self::SUBJECT_OBJECT_RESTORE . '_event_self':
174
-					return [
175
-						'calendar' => $this->generateCalendarParameter($parameters['calendar'], $this->l),
176
-						'event' => $this->generateClassifiedObjectParameter($parameters['object'], $event->getAffectedUser()),
177
-					];
178
-			}
179
-		}
180
-
181
-		if (isset($parameters['sourceCalendar']) && isset($parameters['targetCalendar'])) {
182
-			switch ($subject) {
183
-				case self::SUBJECT_OBJECT_MOVE . '_event':
184
-					return [
185
-						'actor' => $this->generateUserParameter($parameters['actor']),
186
-						'sourceCalendar' => $this->generateCalendarParameter($parameters['sourceCalendar'], $this->l),
187
-						'targetCalendar' => $this->generateCalendarParameter($parameters['targetCalendar'], $this->l),
188
-						'event' => $this->generateClassifiedObjectParameter($parameters['object'], $event->getAffectedUser()),
189
-					];
190
-				case self::SUBJECT_OBJECT_MOVE . '_event_self':
191
-					return [
192
-						'sourceCalendar' => $this->generateCalendarParameter($parameters['sourceCalendar'], $this->l),
193
-						'targetCalendar' => $this->generateCalendarParameter($parameters['targetCalendar'], $this->l),
194
-						'event' => $this->generateClassifiedObjectParameter($parameters['object'], $event->getAffectedUser()),
195
-					];
196
-			}
197
-		}
198
-
199
-		// Legacy - Do NOT Remove unless necessary
200
-		// Removing this will break parsing of activities that were created on
201
-		// Nextcloud 12, so we should keep this as long as it's acceptable.
202
-		// Otherwise if people upgrade over multiple releases in a short period,
203
-		// they will get the dead entries in their stream.
204
-		switch ($subject) {
205
-			case self::SUBJECT_OBJECT_ADD . '_event':
206
-			case self::SUBJECT_OBJECT_DELETE . '_event':
207
-			case self::SUBJECT_OBJECT_UPDATE . '_event':
208
-				return [
209
-					'actor' => $this->generateUserParameter($parameters[0]),
210
-					'calendar' => $this->generateLegacyCalendarParameter($event->getObjectId(), $parameters[1]),
211
-					'event' => $this->generateObjectParameter($parameters[2], $event->getAffectedUser()),
212
-				];
213
-			case self::SUBJECT_OBJECT_ADD . '_event_self':
214
-			case self::SUBJECT_OBJECT_DELETE . '_event_self':
215
-			case self::SUBJECT_OBJECT_UPDATE . '_event_self':
216
-				return [
217
-					'calendar' => $this->generateLegacyCalendarParameter($event->getObjectId(), $parameters[1]),
218
-					'event' => $this->generateObjectParameter($parameters[2], $event->getAffectedUser()),
219
-				];
220
-		}
221
-
222
-		throw new \InvalidArgumentException();
223
-	}
224
-
225
-	private function generateClassifiedObjectParameter(array $eventData, string $affectedUser): array {
226
-		$parameter = $this->generateObjectParameter($eventData, $affectedUser);
227
-		if (!empty($eventData['classified'])) {
228
-			$parameter['name'] = $this->l->t('Busy');
229
-		}
230
-		return $parameter;
231
-	}
232
-
233
-	/**
234
-	 * Return urlencoded string but with lower cased hex sequences.
235
-	 * The remaining casing will be untouched.
236
-	 */
237
-	private function urlencodeLowerHex(string $raw): string {
238
-		return preg_replace_callback(
239
-			'/%[0-9A-F]{2}/',
240
-			static fn (array $matches) => strtolower($matches[0]),
241
-			urlencode($raw),
242
-		);
243
-	}
20
+    public const SUBJECT_OBJECT_ADD = 'object_add';
21
+    public const SUBJECT_OBJECT_UPDATE = 'object_update';
22
+    public const SUBJECT_OBJECT_MOVE = 'object_move';
23
+    public const SUBJECT_OBJECT_MOVE_TO_TRASH = 'object_move_to_trash';
24
+    public const SUBJECT_OBJECT_RESTORE = 'object_restore';
25
+    public const SUBJECT_OBJECT_DELETE = 'object_delete';
26
+
27
+    /** @var IL10N */
28
+    protected $l;
29
+
30
+    /**
31
+     * @param IFactory $languageFactory
32
+     * @param IURLGenerator $url
33
+     * @param IManager $activityManager
34
+     * @param IUserManager $userManager
35
+     * @param IGroupManager $groupManager
36
+     * @param IEventMerger $eventMerger
37
+     * @param IAppManager $appManager
38
+     */
39
+    public function __construct(
40
+        protected IFactory $languageFactory,
41
+        IURLGenerator $url,
42
+        protected IManager $activityManager,
43
+        IUserManager $userManager,
44
+        IGroupManager $groupManager,
45
+        protected IEventMerger $eventMerger,
46
+        protected IAppManager $appManager,
47
+    ) {
48
+        parent::__construct($userManager, $groupManager, $url);
49
+    }
50
+
51
+    /**
52
+     * @param array $eventData
53
+     * @return array
54
+     */
55
+    protected function generateObjectParameter(array $eventData, string $affectedUser): array {
56
+        if (!isset($eventData['id']) || !isset($eventData['name'])) {
57
+            throw new \InvalidArgumentException();
58
+        }
59
+
60
+        $params = [
61
+            'type' => 'calendar-event',
62
+            'id' => $eventData['id'],
63
+            'name' => trim($eventData['name']) !== '' ? $eventData['name'] : $this->l->t('Untitled event'),
64
+        ];
65
+
66
+        if (isset($eventData['link']) && is_array($eventData['link']) && $this->appManager->isEnabledForUser('calendar')) {
67
+            try {
68
+                // The calendar app needs to be manually loaded for the routes to be loaded
69
+                $this->appManager->loadApp('calendar');
70
+                $linkData = $eventData['link'];
71
+                $calendarUri = $this->urlencodeLowerHex($linkData['calendar_uri']);
72
+                if ($affectedUser === $linkData['owner']) {
73
+                    $objectId = base64_encode($this->url->getWebroot() . '/remote.php/dav/calendars/' . $linkData['owner'] . '/' . $calendarUri . '/' . $linkData['object_uri']);
74
+                } else {
75
+                    // Can't use the "real" owner and calendar names here because we create a custom
76
+                    // calendar for incoming shares with the name "<calendar>_shared_by_<sharer>".
77
+                    // Hack: Fix the link by generating it for the incoming shared calendar instead,
78
+                    //       as seen from the affected user.
79
+                    $objectId = base64_encode($this->url->getWebroot() . '/remote.php/dav/calendars/' . $affectedUser . '/' . $calendarUri . '_shared_by_' . $linkData['owner'] . '/' . $linkData['object_uri']);
80
+                }
81
+                $params['link'] = $this->url->linkToRouteAbsolute('calendar.view.indexdirect.edit', [
82
+                    'objectId' => $objectId,
83
+                ]);
84
+            } catch (\Exception $error) {
85
+                // Do nothing
86
+            }
87
+        }
88
+        return $params;
89
+    }
90
+
91
+    /**
92
+     * @param string $language
93
+     * @param IEvent $event
94
+     * @param IEvent|null $previousEvent
95
+     * @return IEvent
96
+     * @throws UnknownActivityException
97
+     * @since 11.0.0
98
+     */
99
+    public function parse($language, IEvent $event, ?IEvent $previousEvent = null) {
100
+        if ($event->getApp() !== 'dav' || $event->getType() !== 'calendar_event') {
101
+            throw new UnknownActivityException();
102
+        }
103
+
104
+        $this->l = $this->languageFactory->get('dav', $language);
105
+
106
+        if ($this->activityManager->getRequirePNG()) {
107
+            $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'places/calendar-dark.png')));
108
+        } else {
109
+            $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'places/calendar.svg')));
110
+        }
111
+
112
+        if ($event->getSubject() === self::SUBJECT_OBJECT_ADD . '_event') {
113
+            $subject = $this->l->t('{actor} created event {event} in calendar {calendar}');
114
+        } elseif ($event->getSubject() === self::SUBJECT_OBJECT_ADD . '_event_self') {
115
+            $subject = $this->l->t('You created event {event} in calendar {calendar}');
116
+        } elseif ($event->getSubject() === self::SUBJECT_OBJECT_DELETE . '_event') {
117
+            $subject = $this->l->t('{actor} deleted event {event} from calendar {calendar}');
118
+        } elseif ($event->getSubject() === self::SUBJECT_OBJECT_DELETE . '_event_self') {
119
+            $subject = $this->l->t('You deleted event {event} from calendar {calendar}');
120
+        } elseif ($event->getSubject() === self::SUBJECT_OBJECT_UPDATE . '_event') {
121
+            $subject = $this->l->t('{actor} updated event {event} in calendar {calendar}');
122
+        } elseif ($event->getSubject() === self::SUBJECT_OBJECT_UPDATE . '_event_self') {
123
+            $subject = $this->l->t('You updated event {event} in calendar {calendar}');
124
+        } elseif ($event->getSubject() === self::SUBJECT_OBJECT_MOVE . '_event') {
125
+            $subject = $this->l->t('{actor} moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}');
126
+        } elseif ($event->getSubject() === self::SUBJECT_OBJECT_MOVE . '_event_self') {
127
+            $subject = $this->l->t('You moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}');
128
+        } elseif ($event->getSubject() === self::SUBJECT_OBJECT_MOVE_TO_TRASH . '_event') {
129
+            $subject = $this->l->t('{actor} deleted event {event} from calendar {calendar}');
130
+        } elseif ($event->getSubject() === self::SUBJECT_OBJECT_MOVE_TO_TRASH . '_event_self') {
131
+            $subject = $this->l->t('You deleted event {event} from calendar {calendar}');
132
+        } elseif ($event->getSubject() === self::SUBJECT_OBJECT_RESTORE . '_event') {
133
+            $subject = $this->l->t('{actor} restored event {event} of calendar {calendar}');
134
+        } elseif ($event->getSubject() === self::SUBJECT_OBJECT_RESTORE . '_event_self') {
135
+            $subject = $this->l->t('You restored event {event} of calendar {calendar}');
136
+        } else {
137
+            throw new UnknownActivityException();
138
+        }
139
+
140
+        $parsedParameters = $this->getParameters($event);
141
+        $this->setSubjects($event, $subject, $parsedParameters);
142
+
143
+        $event = $this->eventMerger->mergeEvents('event', $event, $previousEvent);
144
+
145
+        return $event;
146
+    }
147
+
148
+    /**
149
+     * @param IEvent $event
150
+     * @return array
151
+     */
152
+    protected function getParameters(IEvent $event) {
153
+        $subject = $event->getSubject();
154
+        $parameters = $event->getSubjectParameters();
155
+
156
+        // Nextcloud 13+
157
+        if (isset($parameters['calendar'])) {
158
+            switch ($subject) {
159
+                case self::SUBJECT_OBJECT_ADD . '_event':
160
+                case self::SUBJECT_OBJECT_DELETE . '_event':
161
+                case self::SUBJECT_OBJECT_UPDATE . '_event':
162
+                case self::SUBJECT_OBJECT_MOVE_TO_TRASH . '_event':
163
+                case self::SUBJECT_OBJECT_RESTORE . '_event':
164
+                    return [
165
+                        'actor' => $this->generateUserParameter($parameters['actor']),
166
+                        'calendar' => $this->generateCalendarParameter($parameters['calendar'], $this->l),
167
+                        'event' => $this->generateClassifiedObjectParameter($parameters['object'], $event->getAffectedUser()),
168
+                    ];
169
+                case self::SUBJECT_OBJECT_ADD . '_event_self':
170
+                case self::SUBJECT_OBJECT_DELETE . '_event_self':
171
+                case self::SUBJECT_OBJECT_UPDATE . '_event_self':
172
+                case self::SUBJECT_OBJECT_MOVE_TO_TRASH . '_event_self':
173
+                case self::SUBJECT_OBJECT_RESTORE . '_event_self':
174
+                    return [
175
+                        'calendar' => $this->generateCalendarParameter($parameters['calendar'], $this->l),
176
+                        'event' => $this->generateClassifiedObjectParameter($parameters['object'], $event->getAffectedUser()),
177
+                    ];
178
+            }
179
+        }
180
+
181
+        if (isset($parameters['sourceCalendar']) && isset($parameters['targetCalendar'])) {
182
+            switch ($subject) {
183
+                case self::SUBJECT_OBJECT_MOVE . '_event':
184
+                    return [
185
+                        'actor' => $this->generateUserParameter($parameters['actor']),
186
+                        'sourceCalendar' => $this->generateCalendarParameter($parameters['sourceCalendar'], $this->l),
187
+                        'targetCalendar' => $this->generateCalendarParameter($parameters['targetCalendar'], $this->l),
188
+                        'event' => $this->generateClassifiedObjectParameter($parameters['object'], $event->getAffectedUser()),
189
+                    ];
190
+                case self::SUBJECT_OBJECT_MOVE . '_event_self':
191
+                    return [
192
+                        'sourceCalendar' => $this->generateCalendarParameter($parameters['sourceCalendar'], $this->l),
193
+                        'targetCalendar' => $this->generateCalendarParameter($parameters['targetCalendar'], $this->l),
194
+                        'event' => $this->generateClassifiedObjectParameter($parameters['object'], $event->getAffectedUser()),
195
+                    ];
196
+            }
197
+        }
198
+
199
+        // Legacy - Do NOT Remove unless necessary
200
+        // Removing this will break parsing of activities that were created on
201
+        // Nextcloud 12, so we should keep this as long as it's acceptable.
202
+        // Otherwise if people upgrade over multiple releases in a short period,
203
+        // they will get the dead entries in their stream.
204
+        switch ($subject) {
205
+            case self::SUBJECT_OBJECT_ADD . '_event':
206
+            case self::SUBJECT_OBJECT_DELETE . '_event':
207
+            case self::SUBJECT_OBJECT_UPDATE . '_event':
208
+                return [
209
+                    'actor' => $this->generateUserParameter($parameters[0]),
210
+                    'calendar' => $this->generateLegacyCalendarParameter($event->getObjectId(), $parameters[1]),
211
+                    'event' => $this->generateObjectParameter($parameters[2], $event->getAffectedUser()),
212
+                ];
213
+            case self::SUBJECT_OBJECT_ADD . '_event_self':
214
+            case self::SUBJECT_OBJECT_DELETE . '_event_self':
215
+            case self::SUBJECT_OBJECT_UPDATE . '_event_self':
216
+                return [
217
+                    'calendar' => $this->generateLegacyCalendarParameter($event->getObjectId(), $parameters[1]),
218
+                    'event' => $this->generateObjectParameter($parameters[2], $event->getAffectedUser()),
219
+                ];
220
+        }
221
+
222
+        throw new \InvalidArgumentException();
223
+    }
224
+
225
+    private function generateClassifiedObjectParameter(array $eventData, string $affectedUser): array {
226
+        $parameter = $this->generateObjectParameter($eventData, $affectedUser);
227
+        if (!empty($eventData['classified'])) {
228
+            $parameter['name'] = $this->l->t('Busy');
229
+        }
230
+        return $parameter;
231
+    }
232
+
233
+    /**
234
+     * Return urlencoded string but with lower cased hex sequences.
235
+     * The remaining casing will be untouched.
236
+     */
237
+    private function urlencodeLowerHex(string $raw): string {
238
+        return preg_replace_callback(
239
+            '/%[0-9A-F]{2}/',
240
+            static fn (array $matches) => strtolower($matches[0]),
241
+            urlencode($raw),
242
+        );
243
+    }
244 244
 }
Please login to merge, or discard this patch.
Spacing   +32 added lines, -32 removed lines patch added patch discarded remove patch
@@ -70,13 +70,13 @@  discard block
 block discarded – undo
70 70
 				$linkData = $eventData['link'];
71 71
 				$calendarUri = $this->urlencodeLowerHex($linkData['calendar_uri']);
72 72
 				if ($affectedUser === $linkData['owner']) {
73
-					$objectId = base64_encode($this->url->getWebroot() . '/remote.php/dav/calendars/' . $linkData['owner'] . '/' . $calendarUri . '/' . $linkData['object_uri']);
73
+					$objectId = base64_encode($this->url->getWebroot().'/remote.php/dav/calendars/'.$linkData['owner'].'/'.$calendarUri.'/'.$linkData['object_uri']);
74 74
 				} else {
75 75
 					// Can't use the "real" owner and calendar names here because we create a custom
76 76
 					// calendar for incoming shares with the name "<calendar>_shared_by_<sharer>".
77 77
 					// Hack: Fix the link by generating it for the incoming shared calendar instead,
78 78
 					//       as seen from the affected user.
79
-					$objectId = base64_encode($this->url->getWebroot() . '/remote.php/dav/calendars/' . $affectedUser . '/' . $calendarUri . '_shared_by_' . $linkData['owner'] . '/' . $linkData['object_uri']);
79
+					$objectId = base64_encode($this->url->getWebroot().'/remote.php/dav/calendars/'.$affectedUser.'/'.$calendarUri.'_shared_by_'.$linkData['owner'].'/'.$linkData['object_uri']);
80 80
 				}
81 81
 				$params['link'] = $this->url->linkToRouteAbsolute('calendar.view.indexdirect.edit', [
82 82
 					'objectId' => $objectId,
@@ -109,29 +109,29 @@  discard block
 block discarded – undo
109 109
 			$event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'places/calendar.svg')));
110 110
 		}
111 111
 
112
-		if ($event->getSubject() === self::SUBJECT_OBJECT_ADD . '_event') {
112
+		if ($event->getSubject() === self::SUBJECT_OBJECT_ADD.'_event') {
113 113
 			$subject = $this->l->t('{actor} created event {event} in calendar {calendar}');
114
-		} elseif ($event->getSubject() === self::SUBJECT_OBJECT_ADD . '_event_self') {
114
+		} elseif ($event->getSubject() === self::SUBJECT_OBJECT_ADD.'_event_self') {
115 115
 			$subject = $this->l->t('You created event {event} in calendar {calendar}');
116
-		} elseif ($event->getSubject() === self::SUBJECT_OBJECT_DELETE . '_event') {
116
+		} elseif ($event->getSubject() === self::SUBJECT_OBJECT_DELETE.'_event') {
117 117
 			$subject = $this->l->t('{actor} deleted event {event} from calendar {calendar}');
118
-		} elseif ($event->getSubject() === self::SUBJECT_OBJECT_DELETE . '_event_self') {
118
+		} elseif ($event->getSubject() === self::SUBJECT_OBJECT_DELETE.'_event_self') {
119 119
 			$subject = $this->l->t('You deleted event {event} from calendar {calendar}');
120
-		} elseif ($event->getSubject() === self::SUBJECT_OBJECT_UPDATE . '_event') {
120
+		} elseif ($event->getSubject() === self::SUBJECT_OBJECT_UPDATE.'_event') {
121 121
 			$subject = $this->l->t('{actor} updated event {event} in calendar {calendar}');
122
-		} elseif ($event->getSubject() === self::SUBJECT_OBJECT_UPDATE . '_event_self') {
122
+		} elseif ($event->getSubject() === self::SUBJECT_OBJECT_UPDATE.'_event_self') {
123 123
 			$subject = $this->l->t('You updated event {event} in calendar {calendar}');
124
-		} elseif ($event->getSubject() === self::SUBJECT_OBJECT_MOVE . '_event') {
124
+		} elseif ($event->getSubject() === self::SUBJECT_OBJECT_MOVE.'_event') {
125 125
 			$subject = $this->l->t('{actor} moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}');
126
-		} elseif ($event->getSubject() === self::SUBJECT_OBJECT_MOVE . '_event_self') {
126
+		} elseif ($event->getSubject() === self::SUBJECT_OBJECT_MOVE.'_event_self') {
127 127
 			$subject = $this->l->t('You moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}');
128
-		} elseif ($event->getSubject() === self::SUBJECT_OBJECT_MOVE_TO_TRASH . '_event') {
128
+		} elseif ($event->getSubject() === self::SUBJECT_OBJECT_MOVE_TO_TRASH.'_event') {
129 129
 			$subject = $this->l->t('{actor} deleted event {event} from calendar {calendar}');
130
-		} elseif ($event->getSubject() === self::SUBJECT_OBJECT_MOVE_TO_TRASH . '_event_self') {
130
+		} elseif ($event->getSubject() === self::SUBJECT_OBJECT_MOVE_TO_TRASH.'_event_self') {
131 131
 			$subject = $this->l->t('You deleted event {event} from calendar {calendar}');
132
-		} elseif ($event->getSubject() === self::SUBJECT_OBJECT_RESTORE . '_event') {
132
+		} elseif ($event->getSubject() === self::SUBJECT_OBJECT_RESTORE.'_event') {
133 133
 			$subject = $this->l->t('{actor} restored event {event} of calendar {calendar}');
134
-		} elseif ($event->getSubject() === self::SUBJECT_OBJECT_RESTORE . '_event_self') {
134
+		} elseif ($event->getSubject() === self::SUBJECT_OBJECT_RESTORE.'_event_self') {
135 135
 			$subject = $this->l->t('You restored event {event} of calendar {calendar}');
136 136
 		} else {
137 137
 			throw new UnknownActivityException();
@@ -156,21 +156,21 @@  discard block
 block discarded – undo
156 156
 		// Nextcloud 13+
157 157
 		if (isset($parameters['calendar'])) {
158 158
 			switch ($subject) {
159
-				case self::SUBJECT_OBJECT_ADD . '_event':
160
-				case self::SUBJECT_OBJECT_DELETE . '_event':
161
-				case self::SUBJECT_OBJECT_UPDATE . '_event':
162
-				case self::SUBJECT_OBJECT_MOVE_TO_TRASH . '_event':
163
-				case self::SUBJECT_OBJECT_RESTORE . '_event':
159
+				case self::SUBJECT_OBJECT_ADD.'_event':
160
+				case self::SUBJECT_OBJECT_DELETE.'_event':
161
+				case self::SUBJECT_OBJECT_UPDATE.'_event':
162
+				case self::SUBJECT_OBJECT_MOVE_TO_TRASH.'_event':
163
+				case self::SUBJECT_OBJECT_RESTORE.'_event':
164 164
 					return [
165 165
 						'actor' => $this->generateUserParameter($parameters['actor']),
166 166
 						'calendar' => $this->generateCalendarParameter($parameters['calendar'], $this->l),
167 167
 						'event' => $this->generateClassifiedObjectParameter($parameters['object'], $event->getAffectedUser()),
168 168
 					];
169
-				case self::SUBJECT_OBJECT_ADD . '_event_self':
170
-				case self::SUBJECT_OBJECT_DELETE . '_event_self':
171
-				case self::SUBJECT_OBJECT_UPDATE . '_event_self':
172
-				case self::SUBJECT_OBJECT_MOVE_TO_TRASH . '_event_self':
173
-				case self::SUBJECT_OBJECT_RESTORE . '_event_self':
169
+				case self::SUBJECT_OBJECT_ADD.'_event_self':
170
+				case self::SUBJECT_OBJECT_DELETE.'_event_self':
171
+				case self::SUBJECT_OBJECT_UPDATE.'_event_self':
172
+				case self::SUBJECT_OBJECT_MOVE_TO_TRASH.'_event_self':
173
+				case self::SUBJECT_OBJECT_RESTORE.'_event_self':
174 174
 					return [
175 175
 						'calendar' => $this->generateCalendarParameter($parameters['calendar'], $this->l),
176 176
 						'event' => $this->generateClassifiedObjectParameter($parameters['object'], $event->getAffectedUser()),
@@ -180,14 +180,14 @@  discard block
 block discarded – undo
180 180
 
181 181
 		if (isset($parameters['sourceCalendar']) && isset($parameters['targetCalendar'])) {
182 182
 			switch ($subject) {
183
-				case self::SUBJECT_OBJECT_MOVE . '_event':
183
+				case self::SUBJECT_OBJECT_MOVE.'_event':
184 184
 					return [
185 185
 						'actor' => $this->generateUserParameter($parameters['actor']),
186 186
 						'sourceCalendar' => $this->generateCalendarParameter($parameters['sourceCalendar'], $this->l),
187 187
 						'targetCalendar' => $this->generateCalendarParameter($parameters['targetCalendar'], $this->l),
188 188
 						'event' => $this->generateClassifiedObjectParameter($parameters['object'], $event->getAffectedUser()),
189 189
 					];
190
-				case self::SUBJECT_OBJECT_MOVE . '_event_self':
190
+				case self::SUBJECT_OBJECT_MOVE.'_event_self':
191 191
 					return [
192 192
 						'sourceCalendar' => $this->generateCalendarParameter($parameters['sourceCalendar'], $this->l),
193 193
 						'targetCalendar' => $this->generateCalendarParameter($parameters['targetCalendar'], $this->l),
@@ -202,17 +202,17 @@  discard block
 block discarded – undo
202 202
 		// Otherwise if people upgrade over multiple releases in a short period,
203 203
 		// they will get the dead entries in their stream.
204 204
 		switch ($subject) {
205
-			case self::SUBJECT_OBJECT_ADD . '_event':
206
-			case self::SUBJECT_OBJECT_DELETE . '_event':
207
-			case self::SUBJECT_OBJECT_UPDATE . '_event':
205
+			case self::SUBJECT_OBJECT_ADD.'_event':
206
+			case self::SUBJECT_OBJECT_DELETE.'_event':
207
+			case self::SUBJECT_OBJECT_UPDATE.'_event':
208 208
 				return [
209 209
 					'actor' => $this->generateUserParameter($parameters[0]),
210 210
 					'calendar' => $this->generateLegacyCalendarParameter($event->getObjectId(), $parameters[1]),
211 211
 					'event' => $this->generateObjectParameter($parameters[2], $event->getAffectedUser()),
212 212
 				];
213
-			case self::SUBJECT_OBJECT_ADD . '_event_self':
214
-			case self::SUBJECT_OBJECT_DELETE . '_event_self':
215
-			case self::SUBJECT_OBJECT_UPDATE . '_event_self':
213
+			case self::SUBJECT_OBJECT_ADD.'_event_self':
214
+			case self::SUBJECT_OBJECT_DELETE.'_event_self':
215
+			case self::SUBJECT_OBJECT_UPDATE.'_event_self':
216 216
 				return [
217 217
 					'calendar' => $this->generateLegacyCalendarParameter($event->getObjectId(), $parameters[1]),
218 218
 					'event' => $this->generateObjectParameter($parameters[2], $event->getAffectedUser()),
Please login to merge, or discard this patch.
apps/dav/tests/unit/CalDAV/Activity/Provider/EventTest.php 2 patches
Indentation   +163 added lines, -163 removed lines patch added patch discarded remove patch
@@ -21,176 +21,176 @@
 block discarded – undo
21 21
 use TypeError;
22 22
 
23 23
 class EventTest extends TestCase {
24
-	protected IUserManager&MockObject $userManager;
25
-	protected IGroupManager&MockObject $groupManager;
26
-	protected IURLGenerator&MockObject $url;
27
-	protected IAppManager&MockObject $appManager;
28
-	protected IFactory&MockObject $i10nFactory;
29
-	protected IManager&MockObject $activityManager;
30
-	protected IEventMerger&MockObject $eventMerger;
31
-	protected Event&MockObject $provider;
24
+    protected IUserManager&MockObject $userManager;
25
+    protected IGroupManager&MockObject $groupManager;
26
+    protected IURLGenerator&MockObject $url;
27
+    protected IAppManager&MockObject $appManager;
28
+    protected IFactory&MockObject $i10nFactory;
29
+    protected IManager&MockObject $activityManager;
30
+    protected IEventMerger&MockObject $eventMerger;
31
+    protected Event&MockObject $provider;
32 32
 
33
-	protected function setUp(): void {
34
-		parent::setUp();
35
-		$this->i10nFactory = $this->createMock(IFactory::class);
36
-		$this->userManager = $this->createMock(IUserManager::class);
37
-		$this->groupManager = $this->createMock(IGroupManager::class);
38
-		$this->activityManager = $this->createMock(IManager::class);
39
-		$this->url = $this->createMock(IURLGenerator::class);
40
-		$this->appManager = $this->createMock(IAppManager::class);
41
-		$this->eventMerger = $this->createMock(IEventMerger::class);
42
-		$this->provider = $this->getMockBuilder(Event::class)
43
-			->setConstructorArgs([
44
-				$this->i10nFactory,
45
-				$this->url,
46
-				$this->activityManager,
47
-				$this->userManager,
48
-				$this->groupManager,
49
-				$this->eventMerger,
50
-				$this->appManager
51
-			])
52
-			->onlyMethods(['parse'])
53
-			->getMock();
54
-	}
33
+    protected function setUp(): void {
34
+        parent::setUp();
35
+        $this->i10nFactory = $this->createMock(IFactory::class);
36
+        $this->userManager = $this->createMock(IUserManager::class);
37
+        $this->groupManager = $this->createMock(IGroupManager::class);
38
+        $this->activityManager = $this->createMock(IManager::class);
39
+        $this->url = $this->createMock(IURLGenerator::class);
40
+        $this->appManager = $this->createMock(IAppManager::class);
41
+        $this->eventMerger = $this->createMock(IEventMerger::class);
42
+        $this->provider = $this->getMockBuilder(Event::class)
43
+            ->setConstructorArgs([
44
+                $this->i10nFactory,
45
+                $this->url,
46
+                $this->activityManager,
47
+                $this->userManager,
48
+                $this->groupManager,
49
+                $this->eventMerger,
50
+                $this->appManager
51
+            ])
52
+            ->onlyMethods(['parse'])
53
+            ->getMock();
54
+    }
55 55
 
56
-	public static function dataGenerateObjectParameter(): array {
57
-		$link = [
58
-			'object_uri' => 'someuuid.ics',
59
-			'calendar_uri' => 'personal',
60
-			'owner' => 'someuser'
61
-		];
56
+    public static function dataGenerateObjectParameter(): array {
57
+        $link = [
58
+            'object_uri' => 'someuuid.ics',
59
+            'calendar_uri' => 'personal',
60
+            'owner' => 'someuser'
61
+        ];
62 62
 
63
-		return [
64
-			[23, 'c1', $link, true],
65
-			[23, 'c1', $link, false],
66
-			[42, 'c2', null],
67
-		];
68
-	}
63
+        return [
64
+            [23, 'c1', $link, true],
65
+            [23, 'c1', $link, false],
66
+            [42, 'c2', null],
67
+        ];
68
+    }
69 69
 
70
-	/**
71
-	 * @dataProvider dataGenerateObjectParameter
72
-	 */
73
-	public function testGenerateObjectParameter(int $id, string $name, ?array $link, bool $calendarAppEnabled = true): void {
74
-		$affectedUser = 'otheruser';
75
-		if ($link) {
76
-			$affectedUser = $link['owner'];
77
-			$generatedLink = [
78
-				'objectId' => base64_encode('/remote.php/dav/calendars/' . $link['owner'] . '/' . $link['calendar_uri'] . '/' . $link['object_uri']),
79
-			];
80
-			$this->appManager->expects($this->once())
81
-				->method('isEnabledForUser')
82
-				->with('calendar')
83
-				->willReturn($calendarAppEnabled);
84
-			if ($calendarAppEnabled) {
85
-				$this->url->expects($this->once())
86
-					->method('getWebroot');
87
-				$this->url->expects($this->once())
88
-					->method('linkToRouteAbsolute')
89
-					->with('calendar.view.indexdirect.edit', $generatedLink)
90
-					->willReturn('fullLink');
91
-			}
92
-		}
93
-		$objectParameter = ['id' => $id, 'name' => $name];
94
-		if ($link) {
95
-			$objectParameter['link'] = $link;
96
-		}
97
-		$result = [
98
-			'type' => 'calendar-event',
99
-			'id' => $id,
100
-			'name' => $name,
101
-		];
102
-		if ($link && $calendarAppEnabled) {
103
-			$result['link'] = 'fullLink';
104
-		}
105
-		$this->assertEquals($result, $this->invokePrivate($this->provider, 'generateObjectParameter', [$objectParameter, $affectedUser]));
106
-	}
70
+    /**
71
+     * @dataProvider dataGenerateObjectParameter
72
+     */
73
+    public function testGenerateObjectParameter(int $id, string $name, ?array $link, bool $calendarAppEnabled = true): void {
74
+        $affectedUser = 'otheruser';
75
+        if ($link) {
76
+            $affectedUser = $link['owner'];
77
+            $generatedLink = [
78
+                'objectId' => base64_encode('/remote.php/dav/calendars/' . $link['owner'] . '/' . $link['calendar_uri'] . '/' . $link['object_uri']),
79
+            ];
80
+            $this->appManager->expects($this->once())
81
+                ->method('isEnabledForUser')
82
+                ->with('calendar')
83
+                ->willReturn($calendarAppEnabled);
84
+            if ($calendarAppEnabled) {
85
+                $this->url->expects($this->once())
86
+                    ->method('getWebroot');
87
+                $this->url->expects($this->once())
88
+                    ->method('linkToRouteAbsolute')
89
+                    ->with('calendar.view.indexdirect.edit', $generatedLink)
90
+                    ->willReturn('fullLink');
91
+            }
92
+        }
93
+        $objectParameter = ['id' => $id, 'name' => $name];
94
+        if ($link) {
95
+            $objectParameter['link'] = $link;
96
+        }
97
+        $result = [
98
+            'type' => 'calendar-event',
99
+            'id' => $id,
100
+            'name' => $name,
101
+        ];
102
+        if ($link && $calendarAppEnabled) {
103
+            $result['link'] = 'fullLink';
104
+        }
105
+        $this->assertEquals($result, $this->invokePrivate($this->provider, 'generateObjectParameter', [$objectParameter, $affectedUser]));
106
+    }
107 107
 
108
-	public static function generateObjectParameterLinkEncodingDataProvider(): array {
109
-		return [
110
-			[ // Shared calendar
111
-				[
112
-					'object_uri' => 'someuuid.ics',
113
-					'calendar_uri' => 'personal',
114
-					'owner' => 'sharer'
115
-				],
116
-				base64_encode('/remote.php/dav/calendars/sharee/personal_shared_by_sharer/someuuid.ics'),
117
-			],
118
-			[ // Shared calendar with umlauts
119
-				[
120
-					'object_uri' => 'someuuid.ics',
121
-					'calendar_uri' => 'umlaut_äüöß',
122
-					'owner' => 'sharer'
123
-				],
124
-				base64_encode('/remote.php/dav/calendars/sharee/umlaut_%c3%a4%c3%bc%c3%b6%c3%9f_shared_by_sharer/someuuid.ics'),
125
-			],
126
-			[ // Shared calendar with umlauts and mixed casing
127
-				[
128
-					'object_uri' => 'someuuid.ics',
129
-					'calendar_uri' => 'Umlaut_äüöß',
130
-					'owner' => 'sharer'
131
-				],
132
-				base64_encode('/remote.php/dav/calendars/sharee/Umlaut_%c3%a4%c3%bc%c3%b6%c3%9f_shared_by_sharer/someuuid.ics'),
133
-			],
134
-			[ // Owned calendar with umlauts
135
-				[
136
-					'object_uri' => 'someuuid.ics',
137
-					'calendar_uri' => 'umlaut_äüöß',
138
-					'owner' => 'sharee'
139
-				],
140
-				base64_encode('/remote.php/dav/calendars/sharee/umlaut_%c3%a4%c3%bc%c3%b6%c3%9f/someuuid.ics'),
141
-			],
142
-			[ // Owned calendar with umlauts and mixed casing
143
-				[
144
-					'object_uri' => 'someuuid.ics',
145
-					'calendar_uri' => 'Umlaut_äüöß',
146
-					'owner' => 'sharee'
147
-				],
148
-				base64_encode('/remote.php/dav/calendars/sharee/Umlaut_%c3%a4%c3%bc%c3%b6%c3%9f/someuuid.ics'),
149
-			],
150
-		];
151
-	}
108
+    public static function generateObjectParameterLinkEncodingDataProvider(): array {
109
+        return [
110
+            [ // Shared calendar
111
+                [
112
+                    'object_uri' => 'someuuid.ics',
113
+                    'calendar_uri' => 'personal',
114
+                    'owner' => 'sharer'
115
+                ],
116
+                base64_encode('/remote.php/dav/calendars/sharee/personal_shared_by_sharer/someuuid.ics'),
117
+            ],
118
+            [ // Shared calendar with umlauts
119
+                [
120
+                    'object_uri' => 'someuuid.ics',
121
+                    'calendar_uri' => 'umlaut_äüöß',
122
+                    'owner' => 'sharer'
123
+                ],
124
+                base64_encode('/remote.php/dav/calendars/sharee/umlaut_%c3%a4%c3%bc%c3%b6%c3%9f_shared_by_sharer/someuuid.ics'),
125
+            ],
126
+            [ // Shared calendar with umlauts and mixed casing
127
+                [
128
+                    'object_uri' => 'someuuid.ics',
129
+                    'calendar_uri' => 'Umlaut_äüöß',
130
+                    'owner' => 'sharer'
131
+                ],
132
+                base64_encode('/remote.php/dav/calendars/sharee/Umlaut_%c3%a4%c3%bc%c3%b6%c3%9f_shared_by_sharer/someuuid.ics'),
133
+            ],
134
+            [ // Owned calendar with umlauts
135
+                [
136
+                    'object_uri' => 'someuuid.ics',
137
+                    'calendar_uri' => 'umlaut_äüöß',
138
+                    'owner' => 'sharee'
139
+                ],
140
+                base64_encode('/remote.php/dav/calendars/sharee/umlaut_%c3%a4%c3%bc%c3%b6%c3%9f/someuuid.ics'),
141
+            ],
142
+            [ // Owned calendar with umlauts and mixed casing
143
+                [
144
+                    'object_uri' => 'someuuid.ics',
145
+                    'calendar_uri' => 'Umlaut_äüöß',
146
+                    'owner' => 'sharee'
147
+                ],
148
+                base64_encode('/remote.php/dav/calendars/sharee/Umlaut_%c3%a4%c3%bc%c3%b6%c3%9f/someuuid.ics'),
149
+            ],
150
+        ];
151
+    }
152 152
 
153
-	/**
154
-	 * @dataProvider generateObjectParameterLinkEncodingDataProvider
155
-	 */
156
-	public function testGenerateObjectParameterLinkEncoding(array $link, string $objectId): void {
157
-		$generatedLink = [
158
-			'objectId' => $objectId,
159
-		];
160
-		$this->appManager->expects($this->once())
161
-			->method('isEnabledForUser')
162
-			->with('calendar')
163
-			->willReturn(true);
164
-		$this->url->expects($this->once())
165
-			->method('getWebroot');
166
-		$this->url->expects($this->once())
167
-			->method('linkToRouteAbsolute')
168
-			->with('calendar.view.indexdirect.edit', $generatedLink)
169
-			->willReturn('fullLink');
170
-		$objectParameter = ['id' => 42, 'name' => 'calendar', 'link' => $link];
171
-		$result = [
172
-			'type' => 'calendar-event',
173
-			'id' => 42,
174
-			'name' => 'calendar',
175
-			'link' => 'fullLink',
176
-		];
177
-		$this->assertEquals($result, $this->invokePrivate($this->provider, 'generateObjectParameter', [$objectParameter, 'sharee']));
178
-	}
153
+    /**
154
+     * @dataProvider generateObjectParameterLinkEncodingDataProvider
155
+     */
156
+    public function testGenerateObjectParameterLinkEncoding(array $link, string $objectId): void {
157
+        $generatedLink = [
158
+            'objectId' => $objectId,
159
+        ];
160
+        $this->appManager->expects($this->once())
161
+            ->method('isEnabledForUser')
162
+            ->with('calendar')
163
+            ->willReturn(true);
164
+        $this->url->expects($this->once())
165
+            ->method('getWebroot');
166
+        $this->url->expects($this->once())
167
+            ->method('linkToRouteAbsolute')
168
+            ->with('calendar.view.indexdirect.edit', $generatedLink)
169
+            ->willReturn('fullLink');
170
+        $objectParameter = ['id' => 42, 'name' => 'calendar', 'link' => $link];
171
+        $result = [
172
+            'type' => 'calendar-event',
173
+            'id' => 42,
174
+            'name' => 'calendar',
175
+            'link' => 'fullLink',
176
+        ];
177
+        $this->assertEquals($result, $this->invokePrivate($this->provider, 'generateObjectParameter', [$objectParameter, 'sharee']));
178
+    }
179 179
 
180
-	public static function dataGenerateObjectParameterThrows(): array {
181
-		return [
182
-			['event', TypeError::class],
183
-			[['name' => 'event']],
184
-			[['id' => 42]],
185
-		];
186
-	}
180
+    public static function dataGenerateObjectParameterThrows(): array {
181
+        return [
182
+            ['event', TypeError::class],
183
+            [['name' => 'event']],
184
+            [['id' => 42]],
185
+        ];
186
+    }
187 187
 
188
-	/**
189
-	 * @dataProvider dataGenerateObjectParameterThrows
190
-	 */
191
-	public function testGenerateObjectParameterThrows(string|array $eventData, string $exception = InvalidArgumentException::class): void {
192
-		$this->expectException($exception);
188
+    /**
189
+     * @dataProvider dataGenerateObjectParameterThrows
190
+     */
191
+    public function testGenerateObjectParameterThrows(string|array $eventData, string $exception = InvalidArgumentException::class): void {
192
+        $this->expectException($exception);
193 193
 
194
-		$this->invokePrivate($this->provider, 'generateObjectParameter', [$eventData, 'no_user']);
195
-	}
194
+        $this->invokePrivate($this->provider, 'generateObjectParameter', [$eventData, 'no_user']);
195
+    }
196 196
 }
Please login to merge, or discard this patch.
Spacing   +7 added lines, -7 removed lines patch added patch discarded remove patch
@@ -75,7 +75,7 @@  discard block
 block discarded – undo
75 75
 		if ($link) {
76 76
 			$affectedUser = $link['owner'];
77 77
 			$generatedLink = [
78
-				'objectId' => base64_encode('/remote.php/dav/calendars/' . $link['owner'] . '/' . $link['calendar_uri'] . '/' . $link['object_uri']),
78
+				'objectId' => base64_encode('/remote.php/dav/calendars/'.$link['owner'].'/'.$link['calendar_uri'].'/'.$link['object_uri']),
79 79
 			];
80 80
 			$this->appManager->expects($this->once())
81 81
 				->method('isEnabledForUser')
@@ -107,7 +107,7 @@  discard block
 block discarded – undo
107 107
 
108 108
 	public static function generateObjectParameterLinkEncodingDataProvider(): array {
109 109
 		return [
110
-			[ // Shared calendar
110
+			[// Shared calendar
111 111
 				[
112 112
 					'object_uri' => 'someuuid.ics',
113 113
 					'calendar_uri' => 'personal',
@@ -115,7 +115,7 @@  discard block
 block discarded – undo
115 115
 				],
116 116
 				base64_encode('/remote.php/dav/calendars/sharee/personal_shared_by_sharer/someuuid.ics'),
117 117
 			],
118
-			[ // Shared calendar with umlauts
118
+			[// Shared calendar with umlauts
119 119
 				[
120 120
 					'object_uri' => 'someuuid.ics',
121 121
 					'calendar_uri' => 'umlaut_äüöß',
@@ -123,7 +123,7 @@  discard block
 block discarded – undo
123 123
 				],
124 124
 				base64_encode('/remote.php/dav/calendars/sharee/umlaut_%c3%a4%c3%bc%c3%b6%c3%9f_shared_by_sharer/someuuid.ics'),
125 125
 			],
126
-			[ // Shared calendar with umlauts and mixed casing
126
+			[// Shared calendar with umlauts and mixed casing
127 127
 				[
128 128
 					'object_uri' => 'someuuid.ics',
129 129
 					'calendar_uri' => 'Umlaut_äüöß',
@@ -131,7 +131,7 @@  discard block
 block discarded – undo
131 131
 				],
132 132
 				base64_encode('/remote.php/dav/calendars/sharee/Umlaut_%c3%a4%c3%bc%c3%b6%c3%9f_shared_by_sharer/someuuid.ics'),
133 133
 			],
134
-			[ // Owned calendar with umlauts
134
+			[// Owned calendar with umlauts
135 135
 				[
136 136
 					'object_uri' => 'someuuid.ics',
137 137
 					'calendar_uri' => 'umlaut_äüöß',
@@ -139,7 +139,7 @@  discard block
 block discarded – undo
139 139
 				],
140 140
 				base64_encode('/remote.php/dav/calendars/sharee/umlaut_%c3%a4%c3%bc%c3%b6%c3%9f/someuuid.ics'),
141 141
 			],
142
-			[ // Owned calendar with umlauts and mixed casing
142
+			[// Owned calendar with umlauts and mixed casing
143 143
 				[
144 144
 					'object_uri' => 'someuuid.ics',
145 145
 					'calendar_uri' => 'Umlaut_äüöß',
@@ -188,7 +188,7 @@  discard block
 block discarded – undo
188 188
 	/**
189 189
 	 * @dataProvider dataGenerateObjectParameterThrows
190 190
 	 */
191
-	public function testGenerateObjectParameterThrows(string|array $eventData, string $exception = InvalidArgumentException::class): void {
191
+	public function testGenerateObjectParameterThrows(string | array $eventData, string $exception = InvalidArgumentException::class): void {
192 192
 		$this->expectException($exception);
193 193
 
194 194
 		$this->invokePrivate($this->provider, 'generateObjectParameter', [$eventData, 'no_user']);
Please login to merge, or discard this patch.