Passed
Push — master ( 1259fa...35ef63 )
by John
22:19 queued 13s
created
apps/settings/lib/Settings/Personal/Security/Authtokens.php 2 patches
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -91,7 +91,7 @@
 block discarded – undo
91 91
 			return [];
92 92
 		}
93 93
 
94
-		return array_map(function (IToken $token) use ($sessionToken) {
94
+		return array_map(function(IToken $token) use ($sessionToken) {
95 95
 			$data = $token->jsonSerialize();
96 96
 			$data['canDelete'] = true;
97 97
 			$data['canRename'] = $token instanceof INamedToken;
Please login to merge, or discard this patch.
Indentation   +75 added lines, -75 removed lines patch added patch discarded remove patch
@@ -40,79 +40,79 @@
 block discarded – undo
40 40
 
41 41
 class Authtokens implements ISettings {
42 42
 
43
-	/** @var IAuthTokenProvider */
44
-	private $tokenProvider;
45
-
46
-	/** @var ISession */
47
-	private $session;
48
-
49
-	/** @var IInitialState */
50
-	private $initialState;
51
-
52
-	/** @var string|null */
53
-	private $uid;
54
-
55
-	/** @var IUserSession */
56
-	private $userSession;
57
-
58
-	public function __construct(IAuthTokenProvider $tokenProvider,
59
-								ISession $session,
60
-								IUserSession $userSession,
61
-								IInitialState $initialState,
62
-								?string $UserId) {
63
-		$this->tokenProvider = $tokenProvider;
64
-		$this->session = $session;
65
-		$this->initialState = $initialState;
66
-		$this->uid = $UserId;
67
-		$this->userSession = $userSession;
68
-	}
69
-
70
-	public function getForm(): TemplateResponse {
71
-		$this->initialState->provideInitialState(
72
-			'app_tokens',
73
-			$this->getAppTokens()
74
-		);
75
-
76
-		$this->initialState->provideInitialState(
77
-			'can_create_app_token',
78
-			$this->userSession->getImpersonatingUserID() === null
79
-		);
80
-
81
-		return new TemplateResponse('settings', 'settings/personal/security/authtokens');
82
-	}
83
-
84
-	public function getSection(): string {
85
-		return 'security';
86
-	}
87
-
88
-	public function getPriority(): int {
89
-		return 100;
90
-	}
91
-
92
-	private function getAppTokens(): array {
93
-		$tokens = $this->tokenProvider->getTokenByUser($this->uid);
94
-
95
-		try {
96
-			$sessionId = $this->session->getId();
97
-		} catch (SessionNotAvailableException $ex) {
98
-			return [];
99
-		}
100
-		try {
101
-			$sessionToken = $this->tokenProvider->getToken($sessionId);
102
-		} catch (InvalidTokenException $ex) {
103
-			return [];
104
-		}
105
-
106
-		return array_map(function (IToken $token) use ($sessionToken) {
107
-			$data = $token->jsonSerialize();
108
-			$data['canDelete'] = true;
109
-			$data['canRename'] = $token instanceof INamedToken;
110
-			if ($sessionToken->getId() === $token->getId()) {
111
-				$data['canDelete'] = false;
112
-				$data['canRename'] = false;
113
-				$data['current'] = true;
114
-			}
115
-			return $data;
116
-		}, $tokens);
117
-	}
43
+    /** @var IAuthTokenProvider */
44
+    private $tokenProvider;
45
+
46
+    /** @var ISession */
47
+    private $session;
48
+
49
+    /** @var IInitialState */
50
+    private $initialState;
51
+
52
+    /** @var string|null */
53
+    private $uid;
54
+
55
+    /** @var IUserSession */
56
+    private $userSession;
57
+
58
+    public function __construct(IAuthTokenProvider $tokenProvider,
59
+                                ISession $session,
60
+                                IUserSession $userSession,
61
+                                IInitialState $initialState,
62
+                                ?string $UserId) {
63
+        $this->tokenProvider = $tokenProvider;
64
+        $this->session = $session;
65
+        $this->initialState = $initialState;
66
+        $this->uid = $UserId;
67
+        $this->userSession = $userSession;
68
+    }
69
+
70
+    public function getForm(): TemplateResponse {
71
+        $this->initialState->provideInitialState(
72
+            'app_tokens',
73
+            $this->getAppTokens()
74
+        );
75
+
76
+        $this->initialState->provideInitialState(
77
+            'can_create_app_token',
78
+            $this->userSession->getImpersonatingUserID() === null
79
+        );
80
+
81
+        return new TemplateResponse('settings', 'settings/personal/security/authtokens');
82
+    }
83
+
84
+    public function getSection(): string {
85
+        return 'security';
86
+    }
87
+
88
+    public function getPriority(): int {
89
+        return 100;
90
+    }
91
+
92
+    private function getAppTokens(): array {
93
+        $tokens = $this->tokenProvider->getTokenByUser($this->uid);
94
+
95
+        try {
96
+            $sessionId = $this->session->getId();
97
+        } catch (SessionNotAvailableException $ex) {
98
+            return [];
99
+        }
100
+        try {
101
+            $sessionToken = $this->tokenProvider->getToken($sessionId);
102
+        } catch (InvalidTokenException $ex) {
103
+            return [];
104
+        }
105
+
106
+        return array_map(function (IToken $token) use ($sessionToken) {
107
+            $data = $token->jsonSerialize();
108
+            $data['canDelete'] = true;
109
+            $data['canRename'] = $token instanceof INamedToken;
110
+            if ($sessionToken->getId() === $token->getId()) {
111
+                $data['canDelete'] = false;
112
+                $data['canRename'] = false;
113
+                $data['current'] = true;
114
+            }
115
+            return $data;
116
+        }, $tokens);
117
+    }
118 118
 }
Please login to merge, or discard this patch.
apps/settings/lib/Controller/TwoFactorSettingsController.php 1 patch
Indentation   +17 added lines, -17 removed lines patch added patch discarded remove patch
@@ -34,27 +34,27 @@
 block discarded – undo
34 34
 
35 35
 class TwoFactorSettingsController extends Controller {
36 36
 
37
-	/** @var MandatoryTwoFactor */
38
-	private $mandatoryTwoFactor;
37
+    /** @var MandatoryTwoFactor */
38
+    private $mandatoryTwoFactor;
39 39
 
40
-	public function __construct(string $appName,
41
-								IRequest $request,
42
-								MandatoryTwoFactor $mandatoryTwoFactor) {
43
-		parent::__construct($appName, $request);
40
+    public function __construct(string $appName,
41
+                                IRequest $request,
42
+                                MandatoryTwoFactor $mandatoryTwoFactor) {
43
+        parent::__construct($appName, $request);
44 44
 
45
-		$this->mandatoryTwoFactor = $mandatoryTwoFactor;
46
-	}
45
+        $this->mandatoryTwoFactor = $mandatoryTwoFactor;
46
+    }
47 47
 
48
-	public function index(): JSONResponse {
49
-		return new JSONResponse($this->mandatoryTwoFactor->getState());
50
-	}
48
+    public function index(): JSONResponse {
49
+        return new JSONResponse($this->mandatoryTwoFactor->getState());
50
+    }
51 51
 
52
-	public function update(bool $enforced, array $enforcedGroups = [], array $excludedGroups = []): JSONResponse {
53
-		$this->mandatoryTwoFactor->setState(
54
-			new EnforcementState($enforced, $enforcedGroups, $excludedGroups)
55
-		);
52
+    public function update(bool $enforced, array $enforcedGroups = [], array $excludedGroups = []): JSONResponse {
53
+        $this->mandatoryTwoFactor->setState(
54
+            new EnforcementState($enforced, $enforcedGroups, $excludedGroups)
55
+        );
56 56
 
57
-		return new JSONResponse($this->mandatoryTwoFactor->getState());
58
-	}
57
+        return new JSONResponse($this->mandatoryTwoFactor->getState());
58
+    }
59 59
 
60 60
 }
Please login to merge, or discard this patch.
apps/settings/lib/Activity/Setting.php 1 patch
Indentation   +59 added lines, -59 removed lines patch added patch discarded remove patch
@@ -26,71 +26,71 @@
 block discarded – undo
26 26
 
27 27
 class Setting implements ISetting {
28 28
 
29
-	/** @var IL10N */
30
-	protected $l;
29
+    /** @var IL10N */
30
+    protected $l;
31 31
 
32
-	/**
33
-	 * @param IL10N $l10n
34
-	 */
35
-	public function __construct(IL10N $l10n) {
36
-		$this->l = $l10n;
37
-	}
32
+    /**
33
+     * @param IL10N $l10n
34
+     */
35
+    public function __construct(IL10N $l10n) {
36
+        $this->l = $l10n;
37
+    }
38 38
 
39
-	/**
40
-	 * @return string Lowercase a-z and underscore only identifier
41
-	 * @since 11.0.0
42
-	 */
43
-	public function getIdentifier() {
44
-		return 'personal_settings';
45
-	}
39
+    /**
40
+     * @return string Lowercase a-z and underscore only identifier
41
+     * @since 11.0.0
42
+     */
43
+    public function getIdentifier() {
44
+        return 'personal_settings';
45
+    }
46 46
 
47
-	/**
48
-	 * @return string A translated string
49
-	 * @since 11.0.0
50
-	 */
51
-	public function getName() {
52
-		return $this->l->t('Your <strong>password</strong> or <strong>email</strong> was modified');
53
-	}
47
+    /**
48
+     * @return string A translated string
49
+     * @since 11.0.0
50
+     */
51
+    public function getName() {
52
+        return $this->l->t('Your <strong>password</strong> or <strong>email</strong> was modified');
53
+    }
54 54
 
55
-	/**
56
-	 * @return int whether the filter should be rather on the top or bottom of
57
-	 * the admin section. The filters are arranged in ascending order of the
58
-	 * priority values. It is required to return a value between 0 and 100.
59
-	 * @since 11.0.0
60
-	 */
61
-	public function getPriority() {
62
-		return 0;
63
-	}
55
+    /**
56
+     * @return int whether the filter should be rather on the top or bottom of
57
+     * the admin section. The filters are arranged in ascending order of the
58
+     * priority values. It is required to return a value between 0 and 100.
59
+     * @since 11.0.0
60
+     */
61
+    public function getPriority() {
62
+        return 0;
63
+    }
64 64
 
65
-	/**
66
-	 * @return bool True when the option can be changed for the stream
67
-	 * @since 11.0.0
68
-	 */
69
-	public function canChangeStream() {
70
-		return false;
71
-	}
65
+    /**
66
+     * @return bool True when the option can be changed for the stream
67
+     * @since 11.0.0
68
+     */
69
+    public function canChangeStream() {
70
+        return false;
71
+    }
72 72
 
73
-	/**
74
-	 * @return bool True when the option can be changed for the stream
75
-	 * @since 11.0.0
76
-	 */
77
-	public function isDefaultEnabledStream() {
78
-		return true;
79
-	}
73
+    /**
74
+     * @return bool True when the option can be changed for the stream
75
+     * @since 11.0.0
76
+     */
77
+    public function isDefaultEnabledStream() {
78
+        return true;
79
+    }
80 80
 
81
-	/**
82
-	 * @return bool True when the option can be changed for the mail
83
-	 * @since 11.0.0
84
-	 */
85
-	public function canChangeMail() {
86
-		return false;
87
-	}
81
+    /**
82
+     * @return bool True when the option can be changed for the mail
83
+     * @since 11.0.0
84
+     */
85
+    public function canChangeMail() {
86
+        return false;
87
+    }
88 88
 
89
-	/**
90
-	 * @return bool True when the option can be changed for the stream
91
-	 * @since 11.0.0
92
-	 */
93
-	public function isDefaultEnabledMail() {
94
-		return false;
95
-	}
89
+    /**
90
+     * @return bool True when the option can be changed for the stream
91
+     * @since 11.0.0
92
+     */
93
+    public function isDefaultEnabledMail() {
94
+        return false;
95
+    }
96 96
 }
Please login to merge, or discard this patch.
apps/settings/lib/Activity/SecurityFilter.php 1 patch
Indentation   +26 added lines, -26 removed lines patch added patch discarded remove patch
@@ -28,39 +28,39 @@
 block discarded – undo
28 28
 
29 29
 class SecurityFilter implements IFilter {
30 30
 
31
-	/** @var IURLGenerator */
32
-	private $urlGenerator;
31
+    /** @var IURLGenerator */
32
+    private $urlGenerator;
33 33
 
34
-	/** @var IL10N */
35
-	private $l10n;
34
+    /** @var IL10N */
35
+    private $l10n;
36 36
 
37
-	public function __construct(IURLGenerator $urlGenerator, IL10N $l10n) {
38
-		$this->urlGenerator = $urlGenerator;
39
-		$this->l10n = $l10n;
40
-	}
37
+    public function __construct(IURLGenerator $urlGenerator, IL10N $l10n) {
38
+        $this->urlGenerator = $urlGenerator;
39
+        $this->l10n = $l10n;
40
+    }
41 41
 
42
-	public function allowedApps() {
43
-		return [];
44
-	}
42
+    public function allowedApps() {
43
+        return [];
44
+    }
45 45
 
46
-	public function filterTypes(array $types) {
47
-		return array_intersect(['security'], $types);
48
-	}
46
+    public function filterTypes(array $types) {
47
+        return array_intersect(['security'], $types);
48
+    }
49 49
 
50
-	public function getIcon() {
51
-		return $this->urlGenerator->getAbsoluteURL($this->urlGenerator->imagePath('core', 'actions/password.svg'));
52
-	}
50
+    public function getIcon() {
51
+        return $this->urlGenerator->getAbsoluteURL($this->urlGenerator->imagePath('core', 'actions/password.svg'));
52
+    }
53 53
 
54
-	public function getIdentifier() {
55
-		return 'security';
56
-	}
54
+    public function getIdentifier() {
55
+        return 'security';
56
+    }
57 57
 
58
-	public function getName() {
59
-		return $this->l10n->t('Security');
60
-	}
58
+    public function getName() {
59
+        return $this->l10n->t('Security');
60
+    }
61 61
 
62
-	public function getPriority() {
63
-		return 30;
64
-	}
62
+    public function getPriority() {
63
+        return 30;
64
+    }
65 65
 
66 66
 }
Please login to merge, or discard this patch.
apps/settings/lib/Activity/SecuritySetting.php 1 patch
Indentation   +26 added lines, -26 removed lines patch added patch discarded remove patch
@@ -27,39 +27,39 @@
 block discarded – undo
27 27
 
28 28
 class SecuritySetting implements ISetting {
29 29
 
30
-	/** @var IL10N */
31
-	private $l10n;
30
+    /** @var IL10N */
31
+    private $l10n;
32 32
 
33
-	public function __construct(IL10N $l10n) {
34
-		$this->l10n = $l10n;
35
-	}
33
+    public function __construct(IL10N $l10n) {
34
+        $this->l10n = $l10n;
35
+    }
36 36
 
37
-	public function canChangeMail() {
38
-		return false;
39
-	}
37
+    public function canChangeMail() {
38
+        return false;
39
+    }
40 40
 
41
-	public function canChangeStream() {
42
-		return false;
43
-	}
41
+    public function canChangeStream() {
42
+        return false;
43
+    }
44 44
 
45
-	public function getIdentifier() {
46
-		return 'security';
47
-	}
45
+    public function getIdentifier() {
46
+        return 'security';
47
+    }
48 48
 
49
-	public function getName() {
50
-		return $this->l10n->t('Security');
51
-	}
49
+    public function getName() {
50
+        return $this->l10n->t('Security');
51
+    }
52 52
 
53
-	public function getPriority() {
54
-		return 30;
55
-	}
53
+    public function getPriority() {
54
+        return 30;
55
+    }
56 56
 
57
-	public function isDefaultEnabledMail() {
58
-		return true;
59
-	}
57
+    public function isDefaultEnabledMail() {
58
+        return true;
59
+    }
60 60
 
61
-	public function isDefaultEnabledStream() {
62
-		return true;
63
-	}
61
+    public function isDefaultEnabledStream() {
62
+        return true;
63
+    }
64 64
 
65 65
 }
Please login to merge, or discard this patch.
apps/settings/composer/composer/ClassLoader.php 1 patch
Spacing   +8 added lines, -8 removed lines patch added patch discarded remove patch
@@ -370,18 +370,18 @@  discard block
 block discarded – undo
370 370
     private function findFileWithExtension($class, $ext)
371 371
     {
372 372
         // PSR-4 lookup
373
-        $logicalPathPsr4 = strtr($class, '\\', DIRECTORY_SEPARATOR) . $ext;
373
+        $logicalPathPsr4 = strtr($class, '\\', DIRECTORY_SEPARATOR).$ext;
374 374
 
375 375
         $first = $class[0];
376 376
         if (isset($this->prefixLengthsPsr4[$first])) {
377 377
             $subPath = $class;
378 378
             while (false !== $lastPos = strrpos($subPath, '\\')) {
379 379
                 $subPath = substr($subPath, 0, $lastPos);
380
-                $search = $subPath . '\\';
380
+                $search = $subPath.'\\';
381 381
                 if (isset($this->prefixDirsPsr4[$search])) {
382
-                    $pathEnd = DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $lastPos + 1);
382
+                    $pathEnd = DIRECTORY_SEPARATOR.substr($logicalPathPsr4, $lastPos + 1);
383 383
                     foreach ($this->prefixDirsPsr4[$search] as $dir) {
384
-                        if (file_exists($file = $dir . $pathEnd)) {
384
+                        if (file_exists($file = $dir.$pathEnd)) {
385 385
                             return $file;
386 386
                         }
387 387
                     }
@@ -391,7 +391,7 @@  discard block
 block discarded – undo
391 391
 
392 392
         // PSR-4 fallback dirs
393 393
         foreach ($this->fallbackDirsPsr4 as $dir) {
394
-            if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr4)) {
394
+            if (file_exists($file = $dir.DIRECTORY_SEPARATOR.$logicalPathPsr4)) {
395 395
                 return $file;
396 396
             }
397 397
         }
@@ -403,14 +403,14 @@  discard block
 block discarded – undo
403 403
                 . strtr(substr($logicalPathPsr4, $pos + 1), '_', DIRECTORY_SEPARATOR);
404 404
         } else {
405 405
             // PEAR-like class name
406
-            $logicalPathPsr0 = strtr($class, '_', DIRECTORY_SEPARATOR) . $ext;
406
+            $logicalPathPsr0 = strtr($class, '_', DIRECTORY_SEPARATOR).$ext;
407 407
         }
408 408
 
409 409
         if (isset($this->prefixesPsr0[$first])) {
410 410
             foreach ($this->prefixesPsr0[$first] as $prefix => $dirs) {
411 411
                 if (0 === strpos($class, $prefix)) {
412 412
                     foreach ($dirs as $dir) {
413
-                        if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) {
413
+                        if (file_exists($file = $dir.DIRECTORY_SEPARATOR.$logicalPathPsr0)) {
414 414
                             return $file;
415 415
                         }
416 416
                     }
@@ -420,7 +420,7 @@  discard block
 block discarded – undo
420 420
 
421 421
         // PSR-0 fallback dirs
422 422
         foreach ($this->fallbackDirsPsr0 as $dir) {
423
-            if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) {
423
+            if (file_exists($file = $dir.DIRECTORY_SEPARATOR.$logicalPathPsr0)) {
424 424
                 return $file;
425 425
             }
426 426
         }
Please login to merge, or discard this patch.
apps/settings/composer/composer/autoload_psr4.php 1 patch
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -6,5 +6,5 @@
 block discarded – undo
6 6
 $baseDir = $vendorDir;
7 7
 
8 8
 return array(
9
-    'OCA\\Settings\\' => array($baseDir . '/../lib'),
9
+    'OCA\\Settings\\' => array($baseDir.'/../lib'),
10 10
 );
Please login to merge, or discard this patch.
apps/files_trashbin/lib/Trash/ITrashItem.php 1 patch
Indentation   +43 added lines, -43 removed lines patch added patch discarded remove patch
@@ -28,53 +28,53 @@
 block discarded – undo
28 28
  * @since 15.0.0
29 29
  */
30 30
 interface ITrashItem extends FileInfo {
31
-	/**
32
-	 * Get the trash backend for this item
33
-	 *
34
-	 * @return ITrashBackend
35
-	 * @since 15.0.0
36
-	 */
37
-	public function getTrashBackend(): ITrashBackend;
31
+    /**
32
+     * Get the trash backend for this item
33
+     *
34
+     * @return ITrashBackend
35
+     * @since 15.0.0
36
+     */
37
+    public function getTrashBackend(): ITrashBackend;
38 38
 
39
-	/**
40
-	 * Get the original location for the trash item
41
-	 *
42
-	 * @return string
43
-	 * @since 15.0.0
44
-	 */
45
-	public function getOriginalLocation(): string;
39
+    /**
40
+     * Get the original location for the trash item
41
+     *
42
+     * @return string
43
+     * @since 15.0.0
44
+     */
45
+    public function getOriginalLocation(): string;
46 46
 
47
-	/**
48
-	 * Get the timestamp that the file was moved to trash
49
-	 *
50
-	 * @return int
51
-	 * @since 15.0.0
52
-	 */
53
-	public function getDeletedTime(): int;
47
+    /**
48
+     * Get the timestamp that the file was moved to trash
49
+     *
50
+     * @return int
51
+     * @since 15.0.0
52
+     */
53
+    public function getDeletedTime(): int;
54 54
 
55
-	/**
56
-	 * Get the path of the item relative to the users trashbin
57
-	 *
58
-	 * @return string
59
-	 * @since 15.0.0
60
-	 */
61
-	public function getTrashPath(): string;
55
+    /**
56
+     * Get the path of the item relative to the users trashbin
57
+     *
58
+     * @return string
59
+     * @since 15.0.0
60
+     */
61
+    public function getTrashPath(): string;
62 62
 
63
-	/**
64
-	 * Whether the item is a deleted item in the root of the trash, or a file in a subfolder
65
-	 *
66
-	 * @return bool
67
-	 * @since 15.0.0
68
-	 */
69
-	public function isRootItem(): bool;
63
+    /**
64
+     * Whether the item is a deleted item in the root of the trash, or a file in a subfolder
65
+     *
66
+     * @return bool
67
+     * @since 15.0.0
68
+     */
69
+    public function isRootItem(): bool;
70 70
 
71
-	/**
72
-	 * Get the user for which this trash item applies
73
-	 *
74
-	 * @return IUser
75
-	 * @since 15.0.0
76
-	 */
77
-	public function getUser(): IUser;
71
+    /**
72
+     * Get the user for which this trash item applies
73
+     *
74
+     * @return IUser
75
+     * @since 15.0.0
76
+     */
77
+    public function getUser(): IUser;
78 78
 
79
-	public function getTitle(): string;
79
+    public function getTitle(): string;
80 80
 }
Please login to merge, or discard this patch.
apps/files_versions/lib/Sabre/Plugin.php 2 patches
Spacing   +3 added lines, -3 removed lines patch added patch discarded remove patch
@@ -73,10 +73,10 @@
 block discarded – undo
73 73
 				Request::USER_AGENT_ANDROID_MOBILE_CHROME,
74 74
 				Request::USER_AGENT_FREEBOX,
75 75
 			])) {
76
-			$response->addHeader('Content-Disposition', 'attachment; filename="' . rawurlencode($filename) . '"');
76
+			$response->addHeader('Content-Disposition', 'attachment; filename="'.rawurlencode($filename).'"');
77 77
 		} else {
78
-			$response->addHeader('Content-Disposition', 'attachment; filename*=UTF-8\'\'' . rawurlencode($filename)
79
-				. '; filename="' . rawurlencode($filename) . '"');
78
+			$response->addHeader('Content-Disposition', 'attachment; filename*=UTF-8\'\''.rawurlencode($filename)
79
+				. '; filename="'.rawurlencode($filename).'"');
80 80
 		}
81 81
 	}
82 82
 
Please login to merge, or discard this patch.
Indentation   +63 added lines, -63 removed lines patch added patch discarded remove patch
@@ -38,67 +38,67 @@
 block discarded – undo
38 38
 use Sabre\HTTP\ResponseInterface;
39 39
 
40 40
 class Plugin extends ServerPlugin {
41
-	private Server $server;
42
-	private IRequest $request;
43
-
44
-	public const VERSION_LABEL = '{http://nextcloud.org/ns}version-label';
45
-
46
-	public function __construct(
47
-		IRequest $request
48
-	) {
49
-		$this->request = $request;
50
-	}
51
-
52
-	public function initialize(Server $server) {
53
-		$this->server = $server;
54
-
55
-		$server->on('afterMethod:GET', [$this, 'afterGet']);
56
-		$server->on('propFind', [$this, 'propFind']);
57
-		$server->on('propPatch', [$this, 'propPatch']);
58
-	}
59
-
60
-	public function afterGet(RequestInterface $request, ResponseInterface $response) {
61
-		$path = $request->getPath();
62
-		if (!str_starts_with($path, 'versions')) {
63
-			return;
64
-		}
65
-
66
-		try {
67
-			$node = $this->server->tree->getNodeForPath($path);
68
-		} catch (NotFound $e) {
69
-			return;
70
-		}
71
-
72
-		if (!($node instanceof VersionFile)) {
73
-			return;
74
-		}
75
-
76
-		$filename = $node->getVersion()->getSourceFileName();
77
-
78
-		if ($this->request->isUserAgent(
79
-			[
80
-				Request::USER_AGENT_IE,
81
-				Request::USER_AGENT_ANDROID_MOBILE_CHROME,
82
-				Request::USER_AGENT_FREEBOX,
83
-			])) {
84
-			$response->addHeader('Content-Disposition', 'attachment; filename="' . rawurlencode($filename) . '"');
85
-		} else {
86
-			$response->addHeader('Content-Disposition', 'attachment; filename*=UTF-8\'\'' . rawurlencode($filename)
87
-				. '; filename="' . rawurlencode($filename) . '"');
88
-		}
89
-	}
90
-
91
-	public function propFind(PropFind $propFind, INode $node): void {
92
-		if ($node instanceof VersionFile) {
93
-			$propFind->handle(self::VERSION_LABEL, fn() => $node->getLabel());
94
-		}
95
-	}
96
-
97
-	public function propPatch($path, PropPatch $propPatch): void {
98
-		$node = $this->server->tree->getNodeForPath($path);
99
-
100
-		if ($node instanceof VersionFile) {
101
-			$propPatch->handle(self::VERSION_LABEL, fn ($label) => $node->setLabel($label));
102
-		}
103
-	}
41
+    private Server $server;
42
+    private IRequest $request;
43
+
44
+    public const VERSION_LABEL = '{http://nextcloud.org/ns}version-label';
45
+
46
+    public function __construct(
47
+        IRequest $request
48
+    ) {
49
+        $this->request = $request;
50
+    }
51
+
52
+    public function initialize(Server $server) {
53
+        $this->server = $server;
54
+
55
+        $server->on('afterMethod:GET', [$this, 'afterGet']);
56
+        $server->on('propFind', [$this, 'propFind']);
57
+        $server->on('propPatch', [$this, 'propPatch']);
58
+    }
59
+
60
+    public function afterGet(RequestInterface $request, ResponseInterface $response) {
61
+        $path = $request->getPath();
62
+        if (!str_starts_with($path, 'versions')) {
63
+            return;
64
+        }
65
+
66
+        try {
67
+            $node = $this->server->tree->getNodeForPath($path);
68
+        } catch (NotFound $e) {
69
+            return;
70
+        }
71
+
72
+        if (!($node instanceof VersionFile)) {
73
+            return;
74
+        }
75
+
76
+        $filename = $node->getVersion()->getSourceFileName();
77
+
78
+        if ($this->request->isUserAgent(
79
+            [
80
+                Request::USER_AGENT_IE,
81
+                Request::USER_AGENT_ANDROID_MOBILE_CHROME,
82
+                Request::USER_AGENT_FREEBOX,
83
+            ])) {
84
+            $response->addHeader('Content-Disposition', 'attachment; filename="' . rawurlencode($filename) . '"');
85
+        } else {
86
+            $response->addHeader('Content-Disposition', 'attachment; filename*=UTF-8\'\'' . rawurlencode($filename)
87
+                . '; filename="' . rawurlencode($filename) . '"');
88
+        }
89
+    }
90
+
91
+    public function propFind(PropFind $propFind, INode $node): void {
92
+        if ($node instanceof VersionFile) {
93
+            $propFind->handle(self::VERSION_LABEL, fn() => $node->getLabel());
94
+        }
95
+    }
96
+
97
+    public function propPatch($path, PropPatch $propPatch): void {
98
+        $node = $this->server->tree->getNodeForPath($path);
99
+
100
+        if ($node instanceof VersionFile) {
101
+            $propPatch->handle(self::VERSION_LABEL, fn ($label) => $node->setLabel($label));
102
+        }
103
+    }
104 104
 }
Please login to merge, or discard this patch.