Completed
Push — master ( 4dcb28...9a2cc5 )
by
unknown
31:20 queued 15s
created
apps/files_versions/lib/Sabre/Plugin.php 1 patch
Indentation   +71 added lines, -71 removed lines patch added patch discarded remove patch
@@ -22,75 +22,75 @@
 block discarded – undo
22 22
 use Sabre\HTTP\ResponseInterface;
23 23
 
24 24
 class Plugin extends ServerPlugin {
25
-	private Server $server;
26
-
27
-	public const LABEL = 'label';
28
-
29
-	public const AUTHOR = 'author';
30
-
31
-	public const VERSION_LABEL = '{http://nextcloud.org/ns}version-label';
32
-
33
-	public const VERSION_AUTHOR = '{http://nextcloud.org/ns}version-author'; // dav property for author
34
-
35
-	public function __construct(
36
-		private IRequest $request,
37
-		private IPreview $previewManager,
38
-	) {
39
-		$this->request = $request;
40
-	}
41
-
42
-	public function initialize(Server $server) {
43
-		$this->server = $server;
44
-
45
-		$server->on('afterMethod:GET', [$this, 'afterGet']);
46
-		$server->on('propFind', [$this, 'propFind']);
47
-		$server->on('propPatch', [$this, 'propPatch']);
48
-	}
49
-
50
-	public function afterGet(RequestInterface $request, ResponseInterface $response) {
51
-		$path = $request->getPath();
52
-		if (!str_starts_with($path, 'versions')) {
53
-			return;
54
-		}
55
-
56
-		try {
57
-			$node = $this->server->tree->getNodeForPath($path);
58
-		} catch (NotFound $e) {
59
-			return;
60
-		}
61
-
62
-		if (!($node instanceof VersionFile)) {
63
-			return;
64
-		}
65
-
66
-		$filename = $node->getVersion()->getSourceFileName();
67
-
68
-		if ($this->request->isUserAgent(
69
-			[
70
-				Request::USER_AGENT_IE,
71
-				Request::USER_AGENT_ANDROID_MOBILE_CHROME,
72
-				Request::USER_AGENT_FREEBOX,
73
-			])) {
74
-			$response->addHeader('Content-Disposition', 'attachment; filename="' . rawurlencode($filename) . '"');
75
-		} else {
76
-			$response->addHeader('Content-Disposition', 'attachment; filename*=UTF-8\'\'' . rawurlencode($filename)
77
-				. '; filename="' . rawurlencode($filename) . '"');
78
-		}
79
-	}
80
-
81
-	public function propFind(PropFind $propFind, INode $node): void {
82
-		if ($node instanceof VersionFile) {
83
-			$propFind->handle(self::VERSION_LABEL, fn () => $node->getMetadataValue(self::LABEL));
84
-			$propFind->handle(self::VERSION_AUTHOR, fn () => $node->getMetadataValue(self::AUTHOR));
85
-			$propFind->handle(FilesPlugin::HAS_PREVIEW_PROPERTYNAME, fn () => $this->previewManager->isMimeSupported($node->getContentType()));
86
-		}
87
-	}
88
-
89
-	public function propPatch($path, PropPatch $propPatch): void {
90
-		$node = $this->server->tree->getNodeForPath($path);
91
-
92
-		if ($node instanceof VersionFile) {
93
-			$propPatch->handle(self::VERSION_LABEL, fn (string $label) => $node->setMetadataValue(self::LABEL, $label));
94
-		}
95
-	}
25
+    private Server $server;
26
+
27
+    public const LABEL = 'label';
28
+
29
+    public const AUTHOR = 'author';
30
+
31
+    public const VERSION_LABEL = '{http://nextcloud.org/ns}version-label';
32
+
33
+    public const VERSION_AUTHOR = '{http://nextcloud.org/ns}version-author'; // dav property for author
34
+
35
+    public function __construct(
36
+        private IRequest $request,
37
+        private IPreview $previewManager,
38
+    ) {
39
+        $this->request = $request;
40
+    }
41
+
42
+    public function initialize(Server $server) {
43
+        $this->server = $server;
44
+
45
+        $server->on('afterMethod:GET', [$this, 'afterGet']);
46
+        $server->on('propFind', [$this, 'propFind']);
47
+        $server->on('propPatch', [$this, 'propPatch']);
48
+    }
49
+
50
+    public function afterGet(RequestInterface $request, ResponseInterface $response) {
51
+        $path = $request->getPath();
52
+        if (!str_starts_with($path, 'versions')) {
53
+            return;
54
+        }
55
+
56
+        try {
57
+            $node = $this->server->tree->getNodeForPath($path);
58
+        } catch (NotFound $e) {
59
+            return;
60
+        }
61
+
62
+        if (!($node instanceof VersionFile)) {
63
+            return;
64
+        }
65
+
66
+        $filename = $node->getVersion()->getSourceFileName();
67
+
68
+        if ($this->request->isUserAgent(
69
+            [
70
+                Request::USER_AGENT_IE,
71
+                Request::USER_AGENT_ANDROID_MOBILE_CHROME,
72
+                Request::USER_AGENT_FREEBOX,
73
+            ])) {
74
+            $response->addHeader('Content-Disposition', 'attachment; filename="' . rawurlencode($filename) . '"');
75
+        } else {
76
+            $response->addHeader('Content-Disposition', 'attachment; filename*=UTF-8\'\'' . rawurlencode($filename)
77
+                . '; filename="' . rawurlencode($filename) . '"');
78
+        }
79
+    }
80
+
81
+    public function propFind(PropFind $propFind, INode $node): void {
82
+        if ($node instanceof VersionFile) {
83
+            $propFind->handle(self::VERSION_LABEL, fn () => $node->getMetadataValue(self::LABEL));
84
+            $propFind->handle(self::VERSION_AUTHOR, fn () => $node->getMetadataValue(self::AUTHOR));
85
+            $propFind->handle(FilesPlugin::HAS_PREVIEW_PROPERTYNAME, fn () => $this->previewManager->isMimeSupported($node->getContentType()));
86
+        }
87
+    }
88
+
89
+    public function propPatch($path, PropPatch $propPatch): void {
90
+        $node = $this->server->tree->getNodeForPath($path);
91
+
92
+        if ($node instanceof VersionFile) {
93
+            $propPatch->handle(self::VERSION_LABEL, fn (string $label) => $node->setMetadataValue(self::LABEL, $label));
94
+        }
95
+    }
96 96
 }
Please login to merge, or discard this patch.
apps/files_versions/lib/Listener/VersionAuthorListener.php 1 patch
Indentation   +30 added lines, -30 removed lines patch added patch discarded remove patch
@@ -20,36 +20,36 @@
 block discarded – undo
20 20
 
21 21
 /** @template-implements IEventListener<NodeWrittenEvent> */
22 22
 class VersionAuthorListener implements IEventListener {
23
-	public function __construct(
24
-		private IVersionManager $versionManager,
25
-		private IUserSession $userSession,
26
-	) {
27
-	}
23
+    public function __construct(
24
+        private IVersionManager $versionManager,
25
+        private IUserSession $userSession,
26
+    ) {
27
+    }
28 28
 
29
-	/**
30
-	 * @abstract handles events from a nodes version being changed
31
-	 * @param Event $event the event that triggered this listener to activate
32
-	 */
33
-	public function handle(Event $event): void {
34
-		if ($event instanceof NodeWrittenEvent) {
35
-			$this->post_write_hook($event->getNode());
36
-		}
37
-	}
29
+    /**
30
+     * @abstract handles events from a nodes version being changed
31
+     * @param Event $event the event that triggered this listener to activate
32
+     */
33
+    public function handle(Event $event): void {
34
+        if ($event instanceof NodeWrittenEvent) {
35
+            $this->post_write_hook($event->getNode());
36
+        }
37
+    }
38 38
 
39
-	/**
40
-	 * @abstract handles the NodeWrittenEvent, and sets the metadata for the associated node
41
-	 * @param Node $node the node that is currently being written
42
-	 */
43
-	public function post_write_hook(Node $node): void {
44
-		$user = $this->userSession->getUser();
45
-		// Do not handle folders or users that we cannot get metadata from
46
-		if ($node instanceof Folder || is_null($user)) {
47
-			return;
48
-		}
49
-		// check if our version manager supports setting the metadata
50
-		if ($this->versionManager instanceof IMetadataVersionBackend) {
51
-			$author = $user->getUID();
52
-			$this->versionManager->setMetadataValue($node, $node->getMTime(), Plugin::AUTHOR, $author);
53
-		}
54
-	}
39
+    /**
40
+     * @abstract handles the NodeWrittenEvent, and sets the metadata for the associated node
41
+     * @param Node $node the node that is currently being written
42
+     */
43
+    public function post_write_hook(Node $node): void {
44
+        $user = $this->userSession->getUser();
45
+        // Do not handle folders or users that we cannot get metadata from
46
+        if ($node instanceof Folder || is_null($user)) {
47
+            return;
48
+        }
49
+        // check if our version manager supports setting the metadata
50
+        if ($this->versionManager instanceof IMetadataVersionBackend) {
51
+            $author = $user->getUID();
52
+            $this->versionManager->setMetadataValue($node, $node->getMTime(), Plugin::AUTHOR, $author);
53
+        }
54
+    }
55 55
 }
Please login to merge, or discard this patch.