Completed
Push — master ( d0a5ee...b8b229 )
by John
40:50 queued 14s
created
lib/public/WorkflowEngine/EntityContext/IUrl.php 1 patch
Indentation   +6 added lines, -6 removed lines patch added patch discarded remove patch
@@ -32,10 +32,10 @@
 block discarded – undo
32 32
  * @since 18.0.0
33 33
  */
34 34
 interface IUrl {
35
-	/**
36
-	 * returns a URL that is related to the entity, e.g. the link to a share
37
-	 *
38
-	 * @since 18.0.0
39
-	 */
40
-	public function getUrl(): string;
35
+    /**
36
+     * returns a URL that is related to the entity, e.g. the link to a share
37
+     *
38
+     * @since 18.0.0
39
+     */
40
+    public function getUrl(): string;
41 41
 }
Please login to merge, or discard this patch.
lib/public/WorkflowEngine/EntityContext/IDisplayName.php 1 patch
Indentation   +6 added lines, -6 removed lines patch added patch discarded remove patch
@@ -32,10 +32,10 @@
 block discarded – undo
32 32
  * @since 18.0.0
33 33
  */
34 34
 interface IDisplayName {
35
-	/**
36
-	 * returns the end user facing name of the object related to the entity
37
-	 *
38
-	 * @since 18.0.0
39
-	 */
40
-	public function getDisplayName(): string;
35
+    /**
36
+     * returns the end user facing name of the object related to the entity
37
+     *
38
+     * @since 18.0.0
39
+     */
40
+    public function getDisplayName(): string;
41 41
 }
Please login to merge, or discard this patch.
lib/public/WorkflowEngine/EntityContext/IIcon.php 1 patch
Indentation   +7 added lines, -7 removed lines patch added patch discarded remove patch
@@ -32,11 +32,11 @@
 block discarded – undo
32 32
  * @since 18.0.0
33 33
  */
34 34
 interface IIcon {
35
-	/**
36
-	 * returns a URL to an icon that is related to the entity, for instance
37
-	 * a group icon for groups.
38
-	 *
39
-	 * @since 18.0.0
40
-	 */
41
-	public function getIconUrl(): string;
35
+    /**
36
+     * returns a URL to an icon that is related to the entity, for instance
37
+     * a group icon for groups.
38
+     *
39
+     * @since 18.0.0
40
+     */
41
+    public function getIconUrl(): string;
42 42
 }
Please login to merge, or discard this patch.
apps/files/lib/Db/TransferOwnership.php 1 patch
Indentation   +14 added lines, -14 removed lines patch added patch discarded remove patch
@@ -37,24 +37,24 @@
 block discarded – undo
37 37
  * @method string getNodeName()
38 38
  */
39 39
 class TransferOwnership extends Entity {
40
-	/** @var string */
41
-	protected $sourceUser;
40
+    /** @var string */
41
+    protected $sourceUser;
42 42
 
43
-	/** @var string */
44
-	protected $targetUser;
43
+    /** @var string */
44
+    protected $targetUser;
45 45
 
46
-	/** @var integer */
47
-	protected $fileId;
46
+    /** @var integer */
47
+    protected $fileId;
48 48
 
49
-	/** @var string */
50
-	protected $nodeName;
49
+    /** @var string */
50
+    protected $nodeName;
51 51
 
52
-	public function __construct() {
53
-		$this->addType('sourceUser', 'string');
54
-		$this->addType('targetUser', 'string');
55
-		$this->addType('fileId', 'integer');
56
-		$this->addType('nodeName', 'string');
57
-	}
52
+    public function __construct() {
53
+        $this->addType('sourceUser', 'string');
54
+        $this->addType('targetUser', 'string');
55
+        $this->addType('fileId', 'integer');
56
+        $this->addType('nodeName', 'string');
57
+    }
58 58
 
59 59
 
60 60
 }
Please login to merge, or discard this patch.
apps/files_versions/lib/Sabre/RestoreFolder.php 1 patch
Indentation   +44 added lines, -44 removed lines patch added patch discarded remove patch
@@ -34,49 +34,49 @@
 block discarded – undo
34 34
 use Sabre\DAV\INode;
35 35
 
36 36
 class RestoreFolder implements ICollection, IMoveTarget {
37
-	public function createFile($name, $data = null) {
38
-		throw new Forbidden();
39
-	}
40
-
41
-	public function createDirectory($name) {
42
-		throw new Forbidden();
43
-	}
44
-
45
-	public function getChild($name) {
46
-		return null;
47
-	}
48
-
49
-	public function delete() {
50
-		throw new Forbidden();
51
-	}
52
-
53
-	public function getName() {
54
-		return 'restore';
55
-	}
56
-
57
-	public function setName($name) {
58
-		throw new Forbidden();
59
-	}
60
-
61
-	public function getLastModified(): int {
62
-		return 0;
63
-	}
64
-
65
-	public function getChildren(): array {
66
-		return [];
67
-	}
68
-
69
-	public function childExists($name): bool {
70
-		return false;
71
-	}
72
-
73
-	public function moveInto($targetName, $sourcePath, INode $sourceNode): bool {
74
-		if (!($sourceNode instanceof VersionFile)) {
75
-			return false;
76
-		}
77
-
78
-		$sourceNode->rollBack();
79
-		return true;
80
-	}
37
+    public function createFile($name, $data = null) {
38
+        throw new Forbidden();
39
+    }
40
+
41
+    public function createDirectory($name) {
42
+        throw new Forbidden();
43
+    }
44
+
45
+    public function getChild($name) {
46
+        return null;
47
+    }
48
+
49
+    public function delete() {
50
+        throw new Forbidden();
51
+    }
52
+
53
+    public function getName() {
54
+        return 'restore';
55
+    }
56
+
57
+    public function setName($name) {
58
+        throw new Forbidden();
59
+    }
60
+
61
+    public function getLastModified(): int {
62
+        return 0;
63
+    }
64
+
65
+    public function getChildren(): array {
66
+        return [];
67
+    }
68
+
69
+    public function childExists($name): bool {
70
+        return false;
71
+    }
72
+
73
+    public function moveInto($targetName, $sourcePath, INode $sourceNode): bool {
74
+        if (!($sourceNode instanceof VersionFile)) {
75
+            return false;
76
+        }
77
+
78
+        $sourceNode->rollBack();
79
+        return true;
80
+    }
81 81
 
82 82
 }
Please login to merge, or discard this patch.
lib/private/Hooks/BasicEmitter.php 1 patch
Indentation   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -27,5 +27,5 @@
 block discarded – undo
27 27
  * @deprecated 18.0.0 use \OCP\EventDispatcher\IEventDispatcher
28 28
  */
29 29
 abstract class BasicEmitter implements Emitter {
30
-	use EmitterTrait;
30
+    use EmitterTrait;
31 31
 }
Please login to merge, or discard this patch.
lib/public/WorkflowEngine/IFileCheck.php 1 patch
Indentation   +7 added lines, -7 removed lines patch added patch discarded remove patch
@@ -36,12 +36,12 @@
 block discarded – undo
36 36
  * @since 18.0.0
37 37
  */
38 38
 interface IFileCheck extends IEntityCheck {
39
-	/**
40
-	 * @param IStorage $storage
41
-	 * @param string $path
42
-	 * @param bool $isDir
43
-	 * @since 18.0.0
44
-	 */
45
-	public function setFileInfo(IStorage $storage, string $path, bool $isDir = false): void;
39
+    /**
40
+     * @param IStorage $storage
41
+     * @param string $path
42
+     * @param bool $isDir
43
+     * @since 18.0.0
44
+     */
45
+    public function setFileInfo(IStorage $storage, string $path, bool $isDir = false): void;
46 46
 
47 47
 }
Please login to merge, or discard this patch.
apps/comments/lib/Search/Result.php 2 patches
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -105,7 +105,7 @@
 block discarded – undo
105 105
 			$suffix = '…';
106 106
 		}
107 107
 
108
-		return $prefix . mb_substr($message, $start, $end - $start) . $suffix;
108
+		return $prefix.mb_substr($message, $start, $end - $start).$suffix;
109 109
 	}
110 110
 
111 111
 }
Please login to merge, or discard this patch.
Indentation   +78 added lines, -78 removed lines patch added patch discarded remove patch
@@ -13,92 +13,92 @@
 block discarded – undo
13 13
  * @deprecated 20.0.0
14 14
  */
15 15
 class Result extends BaseResult {
16
-	/**
17
-	 * @deprecated 20.0.0
18
-	 */
19
-	public $type = 'comment';
20
-	/**
21
-	 * @deprecated 20.0.0
22
-	 */
23
-	public $comment;
24
-	/**
25
-	 * @deprecated 20.0.0
26
-	 */
27
-	public $authorId;
28
-	/**
29
-	 * @deprecated 20.0.0
30
-	 */
31
-	public $path;
32
-	/**
33
-	 * @deprecated 20.0.0
34
-	 */
35
-	public $fileName;
16
+    /**
17
+     * @deprecated 20.0.0
18
+     */
19
+    public $type = 'comment';
20
+    /**
21
+     * @deprecated 20.0.0
22
+     */
23
+    public $comment;
24
+    /**
25
+     * @deprecated 20.0.0
26
+     */
27
+    public $authorId;
28
+    /**
29
+     * @deprecated 20.0.0
30
+     */
31
+    public $path;
32
+    /**
33
+     * @deprecated 20.0.0
34
+     */
35
+    public $fileName;
36 36
 
37
-	/**
38
-	 * @throws NotFoundException
39
-	 * @deprecated 20.0.0
40
-	 */
41
-	public function __construct(
42
-		string $search,
43
-		IComment $comment,
44
-		/**
45
-		 * @deprecated 20.0.0
46
-		 */
47
-		public string $authorName,
48
-		string $path,
49
-	) {
50
-		parent::__construct(
51
-			$comment->getId(),
52
-			$comment->getMessage()
53
-			/* @todo , [link to file] */
54
-		);
37
+    /**
38
+     * @throws NotFoundException
39
+     * @deprecated 20.0.0
40
+     */
41
+    public function __construct(
42
+        string $search,
43
+        IComment $comment,
44
+        /**
45
+         * @deprecated 20.0.0
46
+         */
47
+        public string $authorName,
48
+        string $path,
49
+    ) {
50
+        parent::__construct(
51
+            $comment->getId(),
52
+            $comment->getMessage()
53
+            /* @todo , [link to file] */
54
+        );
55 55
 
56
-		$this->comment = $this->getRelevantMessagePart($comment->getMessage(), $search);
57
-		$this->authorId = $comment->getActorId();
58
-		$this->fileName = basename($path);
59
-		$this->path = $this->getVisiblePath($path);
60
-	}
56
+        $this->comment = $this->getRelevantMessagePart($comment->getMessage(), $search);
57
+        $this->authorId = $comment->getActorId();
58
+        $this->fileName = basename($path);
59
+        $this->path = $this->getVisiblePath($path);
60
+    }
61 61
 
62
-	/**
63
-	 * @throws NotFoundException
64
-	 */
65
-	protected function getVisiblePath(string $path): string {
66
-		$segments = explode('/', trim($path, '/'), 3);
62
+    /**
63
+     * @throws NotFoundException
64
+     */
65
+    protected function getVisiblePath(string $path): string {
66
+        $segments = explode('/', trim($path, '/'), 3);
67 67
 
68
-		if (!isset($segments[2])) {
69
-			throw new NotFoundException('Path not inside visible section');
70
-		}
68
+        if (!isset($segments[2])) {
69
+            throw new NotFoundException('Path not inside visible section');
70
+        }
71 71
 
72
-		return $segments[2];
73
-	}
72
+        return $segments[2];
73
+    }
74 74
 
75
-	/**
76
-	 * @throws NotFoundException
77
-	 */
78
-	protected function getRelevantMessagePart(string $message, string $search): string {
79
-		$start = mb_stripos($message, $search);
80
-		if ($start === false) {
81
-			throw new NotFoundException('Comment section not found');
82
-		}
75
+    /**
76
+     * @throws NotFoundException
77
+     */
78
+    protected function getRelevantMessagePart(string $message, string $search): string {
79
+        $start = mb_stripos($message, $search);
80
+        if ($start === false) {
81
+            throw new NotFoundException('Comment section not found');
82
+        }
83 83
 
84
-		$end = $start + mb_strlen($search);
84
+        $end = $start + mb_strlen($search);
85 85
 
86
-		if ($start <= 25) {
87
-			$start = 0;
88
-			$prefix = '';
89
-		} else {
90
-			$start -= 25;
91
-			$prefix = '…';
92
-		}
86
+        if ($start <= 25) {
87
+            $start = 0;
88
+            $prefix = '';
89
+        } else {
90
+            $start -= 25;
91
+            $prefix = '…';
92
+        }
93 93
 
94
-		if ((mb_strlen($message) - $end) <= 25) {
95
-			$end = mb_strlen($message);
96
-			$suffix = '';
97
-		} else {
98
-			$end += 25;
99
-			$suffix = '…';
100
-		}
94
+        if ((mb_strlen($message) - $end) <= 25) {
95
+            $end = mb_strlen($message);
96
+            $suffix = '';
97
+        } else {
98
+            $end += 25;
99
+            $suffix = '…';
100
+        }
101 101
 
102
-		return $prefix . mb_substr($message, $start, $end - $start) . $suffix;
103
-	}
102
+        return $prefix . mb_substr($message, $start, $end - $start) . $suffix;
103
+    }
104 104
 }
Please login to merge, or discard this patch.
apps/workflowengine/lib/Check/FileMimeType.php 2 patches
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -155,7 +155,7 @@
 block discarded – undo
155 155
 	}
156 156
 
157 157
 	public function supportedEntities(): array {
158
-		return [ File::class ];
158
+		return [File::class];
159 159
 	}
160 160
 
161 161
 	public function isAvailableForScope(int $scope): bool {
Please login to merge, or discard this patch.
Indentation   +137 added lines, -137 removed lines patch added patch discarded remove patch
@@ -14,141 +14,141 @@
 block discarded – undo
14 14
 use OCP\WorkflowEngine\IFileCheck;
15 15
 
16 16
 class FileMimeType extends AbstractStringCheck implements IFileCheck {
17
-	use TFileCheck {
18
-		setFileInfo as _setFileInfo;
19
-	}
20
-
21
-	/** @var array */
22
-	protected $mimeType;
23
-
24
-	/**
25
-	 * @param IL10N $l
26
-	 * @param IRequest $request
27
-	 * @param IMimeTypeDetector $mimeTypeDetector
28
-	 */
29
-	public function __construct(
30
-		IL10N $l,
31
-		protected IRequest $request,
32
-		protected IMimeTypeDetector $mimeTypeDetector,
33
-	) {
34
-		parent::__construct($l);
35
-	}
36
-
37
-	/**
38
-	 * @param IStorage $storage
39
-	 * @param string $path
40
-	 * @param bool $isDir
41
-	 */
42
-	public function setFileInfo(IStorage $storage, string $path, bool $isDir = false): void {
43
-		$this->_setFileInfo($storage, $path, $isDir);
44
-		if (!isset($this->mimeType[$this->storage->getId()][$this->path])
45
-			|| $this->mimeType[$this->storage->getId()][$this->path] === '') {
46
-			if ($isDir) {
47
-				$this->mimeType[$this->storage->getId()][$this->path] = 'httpd/unix-directory';
48
-			} else {
49
-				$this->mimeType[$this->storage->getId()][$this->path] = null;
50
-			}
51
-		}
52
-	}
53
-
54
-	/**
55
-	 * The mimetype is only cached if the file has a valid mimetype. Otherwise files access
56
-	 * control will cache "application/octet-stream" for all the target node on:
57
-	 * rename, move, copy and all other methods which create a new item
58
-	 *
59
-	 * To check this:
60
-	 * 1. Add an automated tagging rule which tags on mimetype NOT "httpd/unix-directory"
61
-	 * 2. Add an access control rule which checks for any mimetype
62
-	 * 3. Create a folder and rename it, the folder should not be tagged, but it is
63
-	 *
64
-	 * @param string $storageId
65
-	 * @param string|null $path
66
-	 * @param string $mimeType
67
-	 * @return string
68
-	 */
69
-	protected function cacheAndReturnMimeType(string $storageId, ?string $path, string $mimeType): string {
70
-		if ($path !== null && $mimeType !== 'application/octet-stream') {
71
-			$this->mimeType[$storageId][$path] = $mimeType;
72
-		}
73
-
74
-		return $mimeType;
75
-	}
76
-
77
-	/**
78
-	 * Make sure that even though the content based check returns an application/octet-stream can still be checked based on mimetypemappings of their extension
79
-	 *
80
-	 * @param string $operator
81
-	 * @param string $value
82
-	 * @return bool
83
-	 */
84
-	public function executeCheck($operator, $value) {
85
-		return $this->executeStringCheck($operator, $value, $this->getActualValue());
86
-	}
87
-
88
-	/**
89
-	 * @return string
90
-	 */
91
-	protected function getActualValue() {
92
-		if ($this->mimeType[$this->storage->getId()][$this->path] !== null) {
93
-			return $this->mimeType[$this->storage->getId()][$this->path];
94
-		}
95
-		$cacheEntry = $this->storage->getCache()->get($this->path);
96
-		if ($cacheEntry && $cacheEntry->getMimeType() !== 'application/octet-stream') {
97
-			return $this->cacheAndReturnMimeType($this->storage->getId(), $this->path, $cacheEntry->getMimeType());
98
-		}
99
-
100
-		if ($this->storage->file_exists($this->path) &&
101
-			$this->storage->filesize($this->path) &&
102
-			$this->storage->instanceOfStorage(Local::class)
103
-		) {
104
-			$path = $this->storage->getLocalFile($this->path);
105
-			$mimeType = $this->mimeTypeDetector->detectContent($path);
106
-			return $this->cacheAndReturnMimeType($this->storage->getId(), $this->path, $mimeType);
107
-		}
108
-
109
-		if ($this->isWebDAVRequest() || $this->isPublicWebDAVRequest()) {
110
-			// Creating a folder
111
-			if ($this->request->getMethod() === 'MKCOL') {
112
-				return 'httpd/unix-directory';
113
-			}
114
-		}
115
-
116
-		// We do not cache this, as the file did not exist yet.
117
-		// In case it does in the future, we will check with detectContent()
118
-		// again to get the real mimetype of the content, rather than
119
-		// guessing it from the path.
120
-		return $this->mimeTypeDetector->detectPath($this->path);
121
-	}
122
-
123
-	/**
124
-	 * @return bool
125
-	 */
126
-	protected function isWebDAVRequest() {
127
-		return substr($this->request->getScriptName(), 0 - strlen('/remote.php')) === '/remote.php' && (
128
-			$this->request->getPathInfo() === '/webdav' ||
129
-			str_starts_with($this->request->getPathInfo() ?? '', '/webdav/') ||
130
-			$this->request->getPathInfo() === '/dav/files' ||
131
-			str_starts_with($this->request->getPathInfo() ?? '', '/dav/files/') ||
132
-			$this->request->getPathInfo() === '/dav/uploads' ||
133
-			str_starts_with($this->request->getPathInfo() ?? '', '/dav/uploads/')
134
-		);
135
-	}
136
-
137
-	/**
138
-	 * @return bool
139
-	 */
140
-	protected function isPublicWebDAVRequest() {
141
-		return substr($this->request->getScriptName(), 0 - strlen('/public.php')) === '/public.php' && (
142
-			$this->request->getPathInfo() === '/webdav' ||
143
-			str_starts_with($this->request->getPathInfo() ?? '', '/webdav/')
144
-		);
145
-	}
146
-
147
-	public function supportedEntities(): array {
148
-		return [ File::class ];
149
-	}
150
-
151
-	public function isAvailableForScope(int $scope): bool {
152
-		return true;
153
-	}
17
+    use TFileCheck {
18
+        setFileInfo as _setFileInfo;
19
+    }
20
+
21
+    /** @var array */
22
+    protected $mimeType;
23
+
24
+    /**
25
+     * @param IL10N $l
26
+     * @param IRequest $request
27
+     * @param IMimeTypeDetector $mimeTypeDetector
28
+     */
29
+    public function __construct(
30
+        IL10N $l,
31
+        protected IRequest $request,
32
+        protected IMimeTypeDetector $mimeTypeDetector,
33
+    ) {
34
+        parent::__construct($l);
35
+    }
36
+
37
+    /**
38
+     * @param IStorage $storage
39
+     * @param string $path
40
+     * @param bool $isDir
41
+     */
42
+    public function setFileInfo(IStorage $storage, string $path, bool $isDir = false): void {
43
+        $this->_setFileInfo($storage, $path, $isDir);
44
+        if (!isset($this->mimeType[$this->storage->getId()][$this->path])
45
+            || $this->mimeType[$this->storage->getId()][$this->path] === '') {
46
+            if ($isDir) {
47
+                $this->mimeType[$this->storage->getId()][$this->path] = 'httpd/unix-directory';
48
+            } else {
49
+                $this->mimeType[$this->storage->getId()][$this->path] = null;
50
+            }
51
+        }
52
+    }
53
+
54
+    /**
55
+     * The mimetype is only cached if the file has a valid mimetype. Otherwise files access
56
+     * control will cache "application/octet-stream" for all the target node on:
57
+     * rename, move, copy and all other methods which create a new item
58
+     *
59
+     * To check this:
60
+     * 1. Add an automated tagging rule which tags on mimetype NOT "httpd/unix-directory"
61
+     * 2. Add an access control rule which checks for any mimetype
62
+     * 3. Create a folder and rename it, the folder should not be tagged, but it is
63
+     *
64
+     * @param string $storageId
65
+     * @param string|null $path
66
+     * @param string $mimeType
67
+     * @return string
68
+     */
69
+    protected function cacheAndReturnMimeType(string $storageId, ?string $path, string $mimeType): string {
70
+        if ($path !== null && $mimeType !== 'application/octet-stream') {
71
+            $this->mimeType[$storageId][$path] = $mimeType;
72
+        }
73
+
74
+        return $mimeType;
75
+    }
76
+
77
+    /**
78
+     * Make sure that even though the content based check returns an application/octet-stream can still be checked based on mimetypemappings of their extension
79
+     *
80
+     * @param string $operator
81
+     * @param string $value
82
+     * @return bool
83
+     */
84
+    public function executeCheck($operator, $value) {
85
+        return $this->executeStringCheck($operator, $value, $this->getActualValue());
86
+    }
87
+
88
+    /**
89
+     * @return string
90
+     */
91
+    protected function getActualValue() {
92
+        if ($this->mimeType[$this->storage->getId()][$this->path] !== null) {
93
+            return $this->mimeType[$this->storage->getId()][$this->path];
94
+        }
95
+        $cacheEntry = $this->storage->getCache()->get($this->path);
96
+        if ($cacheEntry && $cacheEntry->getMimeType() !== 'application/octet-stream') {
97
+            return $this->cacheAndReturnMimeType($this->storage->getId(), $this->path, $cacheEntry->getMimeType());
98
+        }
99
+
100
+        if ($this->storage->file_exists($this->path) &&
101
+            $this->storage->filesize($this->path) &&
102
+            $this->storage->instanceOfStorage(Local::class)
103
+        ) {
104
+            $path = $this->storage->getLocalFile($this->path);
105
+            $mimeType = $this->mimeTypeDetector->detectContent($path);
106
+            return $this->cacheAndReturnMimeType($this->storage->getId(), $this->path, $mimeType);
107
+        }
108
+
109
+        if ($this->isWebDAVRequest() || $this->isPublicWebDAVRequest()) {
110
+            // Creating a folder
111
+            if ($this->request->getMethod() === 'MKCOL') {
112
+                return 'httpd/unix-directory';
113
+            }
114
+        }
115
+
116
+        // We do not cache this, as the file did not exist yet.
117
+        // In case it does in the future, we will check with detectContent()
118
+        // again to get the real mimetype of the content, rather than
119
+        // guessing it from the path.
120
+        return $this->mimeTypeDetector->detectPath($this->path);
121
+    }
122
+
123
+    /**
124
+     * @return bool
125
+     */
126
+    protected function isWebDAVRequest() {
127
+        return substr($this->request->getScriptName(), 0 - strlen('/remote.php')) === '/remote.php' && (
128
+            $this->request->getPathInfo() === '/webdav' ||
129
+            str_starts_with($this->request->getPathInfo() ?? '', '/webdav/') ||
130
+            $this->request->getPathInfo() === '/dav/files' ||
131
+            str_starts_with($this->request->getPathInfo() ?? '', '/dav/files/') ||
132
+            $this->request->getPathInfo() === '/dav/uploads' ||
133
+            str_starts_with($this->request->getPathInfo() ?? '', '/dav/uploads/')
134
+        );
135
+    }
136
+
137
+    /**
138
+     * @return bool
139
+     */
140
+    protected function isPublicWebDAVRequest() {
141
+        return substr($this->request->getScriptName(), 0 - strlen('/public.php')) === '/public.php' && (
142
+            $this->request->getPathInfo() === '/webdav' ||
143
+            str_starts_with($this->request->getPathInfo() ?? '', '/webdav/')
144
+        );
145
+    }
146
+
147
+    public function supportedEntities(): array {
148
+        return [ File::class ];
149
+    }
150
+
151
+    public function isAvailableForScope(int $scope): bool {
152
+        return true;
153
+    }
154 154
 }
Please login to merge, or discard this patch.