Passed
Push — master ( d5dea1...e207b9 )
by Jan-Christoph
13:52 queued 10s
created
lib/private/App/AppStore/Bundles/Bundle.php 1 patch
Indentation   +28 added lines, -28 removed lines patch added patch discarded remove patch
@@ -24,36 +24,36 @@
 block discarded – undo
24 24
 use OCP\IL10N;
25 25
 
26 26
 abstract class Bundle {
27
-	/** @var IL10N */
28
-	protected $l10n;
27
+    /** @var IL10N */
28
+    protected $l10n;
29 29
 
30
-	/**
31
-	 * @param IL10N $l10n
32
-	 */
33
-	public function __construct(IL10N $l10n) {
34
-		$this->l10n = $l10n;
35
-	}
30
+    /**
31
+     * @param IL10N $l10n
32
+     */
33
+    public function __construct(IL10N $l10n) {
34
+        $this->l10n = $l10n;
35
+    }
36 36
 
37
-	/**
38
-	 * Get the identifier of the bundle
39
-	 *
40
-	 * @return string
41
-	 */
42
-	final public function getIdentifier() {
43
-		return substr(strrchr(get_class($this), '\\'), 1);
44
-	}
37
+    /**
38
+     * Get the identifier of the bundle
39
+     *
40
+     * @return string
41
+     */
42
+    final public function getIdentifier() {
43
+        return substr(strrchr(get_class($this), '\\'), 1);
44
+    }
45 45
 
46
-	/**
47
-	 * Get the name of the bundle
48
-	 *
49
-	 * @return string
50
-	 */
51
-	abstract public function getName();
46
+    /**
47
+     * Get the name of the bundle
48
+     *
49
+     * @return string
50
+     */
51
+    abstract public function getName();
52 52
 
53
-	/**
54
-	 * Get the list of app identifiers in the bundle
55
-	 *
56
-	 * @return array
57
-	 */
58
-	abstract public function getAppIdentifiers();
53
+    /**
54
+     * Get the list of app identifiers in the bundle
55
+     *
56
+     * @return array
57
+     */
58
+    abstract public function getAppIdentifiers();
59 59
 }
Please login to merge, or discard this patch.
lib/private/Share20/LegacyHooks.php 2 patches
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -66,7 +66,7 @@
 block discarded – undo
66 66
 		/** @var IShare[] $deletedShares */
67 67
 		$deletedShares = $e->getArgument('deletedShares');
68 68
 
69
-		$formattedDeletedShares = array_map(function ($share) {
69
+		$formattedDeletedShares = array_map(function($share) {
70 70
 			return $this->formatHookParams($share);
71 71
 		}, $deletedShares);
72 72
 
Please login to merge, or discard this patch.
Indentation   +140 added lines, -140 removed lines patch added patch discarded remove patch
@@ -34,144 +34,144 @@
 block discarded – undo
34 34
 
35 35
 class LegacyHooks {
36 36
 
37
-	/** @var EventDispatcherInterface */
38
-	private $eventDispatcher;
39
-
40
-	/**
41
-	 * LegacyHooks constructor.
42
-	 *
43
-	 * @param EventDispatcherInterface $eventDispatcher
44
-	 */
45
-	public function __construct(EventDispatcherInterface $eventDispatcher) {
46
-		$this->eventDispatcher = $eventDispatcher;
47
-
48
-		$this->eventDispatcher->addListener('OCP\Share::preUnshare', [$this, 'preUnshare']);
49
-		$this->eventDispatcher->addListener('OCP\Share::postUnshare', [$this, 'postUnshare']);
50
-		$this->eventDispatcher->addListener('OCP\Share::postUnshareFromSelf', [$this, 'postUnshareFromSelf']);
51
-		$this->eventDispatcher->addListener('OCP\Share::preShare', [$this, 'preShare']);
52
-		$this->eventDispatcher->addListener('OCP\Share::postShare', [$this, 'postShare']);
53
-	}
54
-
55
-	/**
56
-	 * @param GenericEvent $e
57
-	 */
58
-	public function preUnshare(GenericEvent $e) {
59
-		/** @var IShare $share */
60
-		$share = $e->getSubject();
61
-
62
-		$formatted = $this->formatHookParams($share);
63
-		\OC_Hook::emit(Share::class, 'pre_unshare', $formatted);
64
-	}
65
-
66
-	/**
67
-	 * @param GenericEvent $e
68
-	 */
69
-	public function postUnshare(GenericEvent $e) {
70
-		/** @var IShare $share */
71
-		$share = $e->getSubject();
72
-
73
-		$formatted = $this->formatHookParams($share);
74
-
75
-		/** @var IShare[] $deletedShares */
76
-		$deletedShares = $e->getArgument('deletedShares');
77
-
78
-		$formattedDeletedShares = array_map(function ($share) {
79
-			return $this->formatHookParams($share);
80
-		}, $deletedShares);
81
-
82
-		$formatted['deletedShares'] = $formattedDeletedShares;
83
-
84
-		\OC_Hook::emit(Share::class, 'post_unshare', $formatted);
85
-	}
86
-
87
-	/**
88
-	 * @param GenericEvent $e
89
-	 */
90
-	public function postUnshareFromSelf(GenericEvent $e) {
91
-		/** @var IShare $share */
92
-		$share = $e->getSubject();
93
-
94
-		$formatted = $this->formatHookParams($share);
95
-		$formatted['itemTarget'] = $formatted['fileTarget'];
96
-		$formatted['unsharedItems'] = [$formatted];
97
-
98
-		\OC_Hook::emit(Share::class, 'post_unshareFromSelf', $formatted);
99
-	}
100
-
101
-	private function formatHookParams(IShare $share) {
102
-		// Prepare hook
103
-		$shareType = $share->getShareType();
104
-		$sharedWith = '';
105
-		if ($shareType === IShare::TYPE_USER ||
106
-			$shareType === IShare::TYPE_GROUP ||
107
-			$shareType === IShare::TYPE_REMOTE) {
108
-			$sharedWith = $share->getSharedWith();
109
-		}
110
-
111
-		$hookParams = [
112
-			'id' => $share->getId(),
113
-			'itemType' => $share->getNodeType(),
114
-			'itemSource' => $share->getNodeId(),
115
-			'shareType' => $shareType,
116
-			'shareWith' => $sharedWith,
117
-			'itemparent' => method_exists($share, 'getParent') ? $share->getParent() : '',
118
-			'uidOwner' => $share->getSharedBy(),
119
-			'fileSource' => $share->getNodeId(),
120
-			'fileTarget' => $share->getTarget()
121
-		];
122
-		return $hookParams;
123
-	}
124
-
125
-	public function preShare(GenericEvent $e) {
126
-		/** @var IShare $share */
127
-		$share = $e->getSubject();
128
-
129
-		// Pre share hook
130
-		$run = true;
131
-		$error = '';
132
-		$preHookData = [
133
-			'itemType' => $share->getNode() instanceof File ? 'file' : 'folder',
134
-			'itemSource' => $share->getNode()->getId(),
135
-			'shareType' => $share->getShareType(),
136
-			'uidOwner' => $share->getSharedBy(),
137
-			'permissions' => $share->getPermissions(),
138
-			'fileSource' => $share->getNode()->getId(),
139
-			'expiration' => $share->getExpirationDate(),
140
-			'token' => $share->getToken(),
141
-			'itemTarget' => $share->getTarget(),
142
-			'shareWith' => $share->getSharedWith(),
143
-			'run' => &$run,
144
-			'error' => &$error,
145
-		];
146
-		\OC_Hook::emit(Share::class, 'pre_shared', $preHookData);
147
-
148
-		if ($run === false) {
149
-			$e->setArgument('error', $error);
150
-			$e->stopPropagation();
151
-		}
152
-
153
-		return $e;
154
-	}
155
-
156
-	public function postShare(GenericEvent $e) {
157
-		/** @var IShare $share */
158
-		$share = $e->getSubject();
159
-
160
-		$postHookData = [
161
-			'itemType' => $share->getNode() instanceof File ? 'file' : 'folder',
162
-			'itemSource' => $share->getNode()->getId(),
163
-			'shareType' => $share->getShareType(),
164
-			'uidOwner' => $share->getSharedBy(),
165
-			'permissions' => $share->getPermissions(),
166
-			'fileSource' => $share->getNode()->getId(),
167
-			'expiration' => $share->getExpirationDate(),
168
-			'token' => $share->getToken(),
169
-			'id' => $share->getId(),
170
-			'shareWith' => $share->getSharedWith(),
171
-			'itemTarget' => $share->getTarget(),
172
-			'fileTarget' => $share->getTarget(),
173
-		];
174
-
175
-		\OC_Hook::emit(Share::class, 'post_shared', $postHookData);
176
-	}
37
+    /** @var EventDispatcherInterface */
38
+    private $eventDispatcher;
39
+
40
+    /**
41
+     * LegacyHooks constructor.
42
+     *
43
+     * @param EventDispatcherInterface $eventDispatcher
44
+     */
45
+    public function __construct(EventDispatcherInterface $eventDispatcher) {
46
+        $this->eventDispatcher = $eventDispatcher;
47
+
48
+        $this->eventDispatcher->addListener('OCP\Share::preUnshare', [$this, 'preUnshare']);
49
+        $this->eventDispatcher->addListener('OCP\Share::postUnshare', [$this, 'postUnshare']);
50
+        $this->eventDispatcher->addListener('OCP\Share::postUnshareFromSelf', [$this, 'postUnshareFromSelf']);
51
+        $this->eventDispatcher->addListener('OCP\Share::preShare', [$this, 'preShare']);
52
+        $this->eventDispatcher->addListener('OCP\Share::postShare', [$this, 'postShare']);
53
+    }
54
+
55
+    /**
56
+     * @param GenericEvent $e
57
+     */
58
+    public function preUnshare(GenericEvent $e) {
59
+        /** @var IShare $share */
60
+        $share = $e->getSubject();
61
+
62
+        $formatted = $this->formatHookParams($share);
63
+        \OC_Hook::emit(Share::class, 'pre_unshare', $formatted);
64
+    }
65
+
66
+    /**
67
+     * @param GenericEvent $e
68
+     */
69
+    public function postUnshare(GenericEvent $e) {
70
+        /** @var IShare $share */
71
+        $share = $e->getSubject();
72
+
73
+        $formatted = $this->formatHookParams($share);
74
+
75
+        /** @var IShare[] $deletedShares */
76
+        $deletedShares = $e->getArgument('deletedShares');
77
+
78
+        $formattedDeletedShares = array_map(function ($share) {
79
+            return $this->formatHookParams($share);
80
+        }, $deletedShares);
81
+
82
+        $formatted['deletedShares'] = $formattedDeletedShares;
83
+
84
+        \OC_Hook::emit(Share::class, 'post_unshare', $formatted);
85
+    }
86
+
87
+    /**
88
+     * @param GenericEvent $e
89
+     */
90
+    public function postUnshareFromSelf(GenericEvent $e) {
91
+        /** @var IShare $share */
92
+        $share = $e->getSubject();
93
+
94
+        $formatted = $this->formatHookParams($share);
95
+        $formatted['itemTarget'] = $formatted['fileTarget'];
96
+        $formatted['unsharedItems'] = [$formatted];
97
+
98
+        \OC_Hook::emit(Share::class, 'post_unshareFromSelf', $formatted);
99
+    }
100
+
101
+    private function formatHookParams(IShare $share) {
102
+        // Prepare hook
103
+        $shareType = $share->getShareType();
104
+        $sharedWith = '';
105
+        if ($shareType === IShare::TYPE_USER ||
106
+            $shareType === IShare::TYPE_GROUP ||
107
+            $shareType === IShare::TYPE_REMOTE) {
108
+            $sharedWith = $share->getSharedWith();
109
+        }
110
+
111
+        $hookParams = [
112
+            'id' => $share->getId(),
113
+            'itemType' => $share->getNodeType(),
114
+            'itemSource' => $share->getNodeId(),
115
+            'shareType' => $shareType,
116
+            'shareWith' => $sharedWith,
117
+            'itemparent' => method_exists($share, 'getParent') ? $share->getParent() : '',
118
+            'uidOwner' => $share->getSharedBy(),
119
+            'fileSource' => $share->getNodeId(),
120
+            'fileTarget' => $share->getTarget()
121
+        ];
122
+        return $hookParams;
123
+    }
124
+
125
+    public function preShare(GenericEvent $e) {
126
+        /** @var IShare $share */
127
+        $share = $e->getSubject();
128
+
129
+        // Pre share hook
130
+        $run = true;
131
+        $error = '';
132
+        $preHookData = [
133
+            'itemType' => $share->getNode() instanceof File ? 'file' : 'folder',
134
+            'itemSource' => $share->getNode()->getId(),
135
+            'shareType' => $share->getShareType(),
136
+            'uidOwner' => $share->getSharedBy(),
137
+            'permissions' => $share->getPermissions(),
138
+            'fileSource' => $share->getNode()->getId(),
139
+            'expiration' => $share->getExpirationDate(),
140
+            'token' => $share->getToken(),
141
+            'itemTarget' => $share->getTarget(),
142
+            'shareWith' => $share->getSharedWith(),
143
+            'run' => &$run,
144
+            'error' => &$error,
145
+        ];
146
+        \OC_Hook::emit(Share::class, 'pre_shared', $preHookData);
147
+
148
+        if ($run === false) {
149
+            $e->setArgument('error', $error);
150
+            $e->stopPropagation();
151
+        }
152
+
153
+        return $e;
154
+    }
155
+
156
+    public function postShare(GenericEvent $e) {
157
+        /** @var IShare $share */
158
+        $share = $e->getSubject();
159
+
160
+        $postHookData = [
161
+            'itemType' => $share->getNode() instanceof File ? 'file' : 'folder',
162
+            'itemSource' => $share->getNode()->getId(),
163
+            'shareType' => $share->getShareType(),
164
+            'uidOwner' => $share->getSharedBy(),
165
+            'permissions' => $share->getPermissions(),
166
+            'fileSource' => $share->getNode()->getId(),
167
+            'expiration' => $share->getExpirationDate(),
168
+            'token' => $share->getToken(),
169
+            'id' => $share->getId(),
170
+            'shareWith' => $share->getSharedWith(),
171
+            'itemTarget' => $share->getTarget(),
172
+            'fileTarget' => $share->getTarget(),
173
+        ];
174
+
175
+        \OC_Hook::emit(Share::class, 'post_shared', $postHookData);
176
+    }
177 177
 }
Please login to merge, or discard this patch.
lib/private/Share20/Share.php 2 patches
Spacing   +3 added lines, -3 removed lines patch added patch discarded remove patch
@@ -86,7 +86,7 @@  discard block
 block discarded – undo
86 86
 	 */
87 87
 	public function setId($id) {
88 88
 		if (is_int($id)) {
89
-			$id = (string)$id;
89
+			$id = (string) $id;
90 90
 		}
91 91
 
92 92
 		if (!is_string($id)) {
@@ -115,7 +115,7 @@  discard block
 block discarded – undo
115 115
 		if ($this->providerId === null || $this->id === null) {
116 116
 			throw new \UnexpectedValueException;
117 117
 		}
118
-		return $this->providerId . ':' . $this->id;
118
+		return $this->providerId.':'.$this->id;
119 119
 	}
120 120
 
121 121
 	/**
@@ -163,7 +163,7 @@  discard block
 block discarded – undo
163 163
 
164 164
 			$nodes = $userFolder->getById($this->fileId);
165 165
 			if (empty($nodes)) {
166
-				throw new NotFoundException('Node for share not found, fileid: ' . $this->fileId);
166
+				throw new NotFoundException('Node for share not found, fileid: '.$this->fileId);
167 167
 			}
168 168
 
169 169
 			$this->node = $nodes[0];
Please login to merge, or discard this patch.
Indentation   +534 added lines, -534 removed lines patch added patch discarded remove patch
@@ -40,538 +40,538 @@
 block discarded – undo
40 40
 
41 41
 class Share implements \OCP\Share\IShare {
42 42
 
43
-	/** @var string */
44
-	private $id;
45
-	/** @var string */
46
-	private $providerId;
47
-	/** @var Node */
48
-	private $node;
49
-	/** @var int */
50
-	private $fileId;
51
-	/** @var string */
52
-	private $nodeType;
53
-	/** @var int */
54
-	private $shareType;
55
-	/** @var string */
56
-	private $sharedWith;
57
-	/** @var string */
58
-	private $sharedWithDisplayName;
59
-	/** @var string */
60
-	private $sharedWithAvatar;
61
-	/** @var string */
62
-	private $sharedBy;
63
-	/** @var string */
64
-	private $shareOwner;
65
-	/** @var int */
66
-	private $permissions;
67
-	/** @var int */
68
-	private $status;
69
-	/** @var string */
70
-	private $note = '';
71
-	/** @var \DateTime */
72
-	private $expireDate;
73
-	/** @var string */
74
-	private $password;
75
-	/** @var bool */
76
-	private $sendPasswordByTalk = false;
77
-	/** @var string */
78
-	private $token;
79
-	/** @var int */
80
-	private $parent;
81
-	/** @var string */
82
-	private $target;
83
-	/** @var \DateTime */
84
-	private $shareTime;
85
-	/** @var bool */
86
-	private $mailSend;
87
-	/** @var string */
88
-	private $label = '';
89
-
90
-	/** @var IRootFolder */
91
-	private $rootFolder;
92
-
93
-	/** @var IUserManager */
94
-	private $userManager;
95
-
96
-	/** @var ICacheEntry|null */
97
-	private $nodeCacheEntry;
98
-
99
-	/** @var bool */
100
-	private $hideDownload = false;
101
-
102
-	public function __construct(IRootFolder $rootFolder, IUserManager $userManager) {
103
-		$this->rootFolder = $rootFolder;
104
-		$this->userManager = $userManager;
105
-	}
106
-
107
-	/**
108
-	 * @inheritdoc
109
-	 */
110
-	public function setId($id) {
111
-		if (is_int($id)) {
112
-			$id = (string)$id;
113
-		}
114
-
115
-		if (!is_string($id)) {
116
-			throw new \InvalidArgumentException('String expected.');
117
-		}
118
-
119
-		if ($this->id !== null) {
120
-			throw new IllegalIDChangeException('Not allowed to assign a new internal id to a share');
121
-		}
122
-
123
-		$this->id = trim($id);
124
-		return $this;
125
-	}
126
-
127
-	/**
128
-	 * @inheritdoc
129
-	 */
130
-	public function getId() {
131
-		return $this->id;
132
-	}
133
-
134
-	/**
135
-	 * @inheritdoc
136
-	 */
137
-	public function getFullId() {
138
-		if ($this->providerId === null || $this->id === null) {
139
-			throw new \UnexpectedValueException;
140
-		}
141
-		return $this->providerId . ':' . $this->id;
142
-	}
143
-
144
-	/**
145
-	 * @inheritdoc
146
-	 */
147
-	public function setProviderId($id) {
148
-		if (!is_string($id)) {
149
-			throw new \InvalidArgumentException('String expected.');
150
-		}
151
-
152
-		if ($this->providerId !== null) {
153
-			throw new IllegalIDChangeException('Not allowed to assign a new provider id to a share');
154
-		}
155
-
156
-		$this->providerId = trim($id);
157
-		return $this;
158
-	}
159
-
160
-	/**
161
-	 * @inheritdoc
162
-	 */
163
-	public function setNode(Node $node) {
164
-		$this->fileId = null;
165
-		$this->nodeType = null;
166
-		$this->node = $node;
167
-		return $this;
168
-	}
169
-
170
-	/**
171
-	 * @inheritdoc
172
-	 */
173
-	public function getNode() {
174
-		if ($this->node === null) {
175
-			if ($this->shareOwner === null || $this->fileId === null) {
176
-				throw new NotFoundException();
177
-			}
178
-
179
-			// for federated shares the owner can be a remote user, in this
180
-			// case we use the initiator
181
-			if ($this->userManager->userExists($this->shareOwner)) {
182
-				$userFolder = $this->rootFolder->getUserFolder($this->shareOwner);
183
-			} else {
184
-				$userFolder = $this->rootFolder->getUserFolder($this->sharedBy);
185
-			}
186
-
187
-			$nodes = $userFolder->getById($this->fileId);
188
-			if (empty($nodes)) {
189
-				throw new NotFoundException('Node for share not found, fileid: ' . $this->fileId);
190
-			}
191
-
192
-			$this->node = $nodes[0];
193
-		}
194
-
195
-		return $this->node;
196
-	}
197
-
198
-	/**
199
-	 * @inheritdoc
200
-	 */
201
-	public function setNodeId($fileId) {
202
-		$this->node = null;
203
-		$this->fileId = $fileId;
204
-		return $this;
205
-	}
206
-
207
-	/**
208
-	 * @inheritdoc
209
-	 */
210
-	public function getNodeId() {
211
-		if ($this->fileId === null) {
212
-			$this->fileId = $this->getNode()->getId();
213
-		}
214
-
215
-		return $this->fileId;
216
-	}
217
-
218
-	/**
219
-	 * @inheritdoc
220
-	 */
221
-	public function setNodeType($type) {
222
-		if ($type !== 'file' && $type !== 'folder') {
223
-			throw new \InvalidArgumentException();
224
-		}
225
-
226
-		$this->nodeType = $type;
227
-		return $this;
228
-	}
229
-
230
-	/**
231
-	 * @inheritdoc
232
-	 */
233
-	public function getNodeType() {
234
-		if ($this->nodeType === null) {
235
-			$node = $this->getNode();
236
-			$this->nodeType = $node instanceof File ? 'file' : 'folder';
237
-		}
238
-
239
-		return $this->nodeType;
240
-	}
241
-
242
-	/**
243
-	 * @inheritdoc
244
-	 */
245
-	public function setShareType($shareType) {
246
-		$this->shareType = $shareType;
247
-		return $this;
248
-	}
249
-
250
-	/**
251
-	 * @inheritdoc
252
-	 */
253
-	public function getShareType() {
254
-		return $this->shareType;
255
-	}
256
-
257
-	/**
258
-	 * @inheritdoc
259
-	 */
260
-	public function setSharedWith($sharedWith) {
261
-		if (!is_string($sharedWith)) {
262
-			throw new \InvalidArgumentException();
263
-		}
264
-		$this->sharedWith = $sharedWith;
265
-		return $this;
266
-	}
267
-
268
-	/**
269
-	 * @inheritdoc
270
-	 */
271
-	public function getSharedWith() {
272
-		return $this->sharedWith;
273
-	}
274
-
275
-	/**
276
-	 * @inheritdoc
277
-	 */
278
-	public function setSharedWithDisplayName($displayName) {
279
-		if (!is_string($displayName)) {
280
-			throw new \InvalidArgumentException();
281
-		}
282
-		$this->sharedWithDisplayName = $displayName;
283
-		return $this;
284
-	}
285
-
286
-	/**
287
-	 * @inheritdoc
288
-	 */
289
-	public function getSharedWithDisplayName() {
290
-		return $this->sharedWithDisplayName;
291
-	}
292
-
293
-	/**
294
-	 * @inheritdoc
295
-	 */
296
-	public function setSharedWithAvatar($src) {
297
-		if (!is_string($src)) {
298
-			throw new \InvalidArgumentException();
299
-		}
300
-		$this->sharedWithAvatar = $src;
301
-		return $this;
302
-	}
303
-
304
-	/**
305
-	 * @inheritdoc
306
-	 */
307
-	public function getSharedWithAvatar() {
308
-		return $this->sharedWithAvatar;
309
-	}
310
-
311
-	/**
312
-	 * @inheritdoc
313
-	 */
314
-	public function setPermissions($permissions) {
315
-		//TODO checkes
316
-
317
-		$this->permissions = $permissions;
318
-		return $this;
319
-	}
320
-
321
-	/**
322
-	 * @inheritdoc
323
-	 */
324
-	public function getPermissions() {
325
-		return $this->permissions;
326
-	}
327
-
328
-	/**
329
-	 * @inheritdoc
330
-	 */
331
-	public function setStatus(int $status): IShare {
332
-		$this->status = $status;
333
-		return $this;
334
-	}
335
-
336
-	/**
337
-	 * @inheritdoc
338
-	 */
339
-	public function getStatus(): int {
340
-		return $this->status;
341
-	}
342
-
343
-	/**
344
-	 * @inheritdoc
345
-	 */
346
-	public function setNote($note) {
347
-		$this->note = $note;
348
-		return $this;
349
-	}
350
-
351
-	/**
352
-	 * @inheritdoc
353
-	 */
354
-	public function getNote() {
355
-		if (is_string($this->note)) {
356
-			return $this->note;
357
-		}
358
-		return '';
359
-	}
360
-
361
-	/**
362
-	 * @inheritdoc
363
-	 */
364
-	public function setLabel($label) {
365
-		$this->label = $label;
366
-		return $this;
367
-	}
368
-
369
-	/**
370
-	 * @inheritdoc
371
-	 */
372
-	public function getLabel() {
373
-		return $this->label;
374
-	}
375
-
376
-	/**
377
-	 * @inheritdoc
378
-	 */
379
-	public function setExpirationDate($expireDate) {
380
-		//TODO checks
381
-
382
-		$this->expireDate = $expireDate;
383
-		return $this;
384
-	}
385
-
386
-	/**
387
-	 * @inheritdoc
388
-	 */
389
-	public function getExpirationDate() {
390
-		return $this->expireDate;
391
-	}
392
-
393
-	/**
394
-	 * @inheritdoc
395
-	 */
396
-	public function isExpired() {
397
-		return $this->getExpirationDate() !== null &&
398
-			$this->getExpirationDate() <= new \DateTime();
399
-	}
400
-
401
-	/**
402
-	 * @inheritdoc
403
-	 */
404
-	public function setSharedBy($sharedBy) {
405
-		if (!is_string($sharedBy)) {
406
-			throw new \InvalidArgumentException();
407
-		}
408
-		//TODO checks
409
-		$this->sharedBy = $sharedBy;
410
-
411
-		return $this;
412
-	}
413
-
414
-	/**
415
-	 * @inheritdoc
416
-	 */
417
-	public function getSharedBy() {
418
-		//TODO check if set
419
-		return $this->sharedBy;
420
-	}
421
-
422
-	/**
423
-	 * @inheritdoc
424
-	 */
425
-	public function setShareOwner($shareOwner) {
426
-		if (!is_string($shareOwner)) {
427
-			throw new \InvalidArgumentException();
428
-		}
429
-		//TODO checks
430
-
431
-		$this->shareOwner = $shareOwner;
432
-		return $this;
433
-	}
434
-
435
-	/**
436
-	 * @inheritdoc
437
-	 */
438
-	public function getShareOwner() {
439
-		//TODO check if set
440
-		return $this->shareOwner;
441
-	}
442
-
443
-	/**
444
-	 * @inheritdoc
445
-	 */
446
-	public function setPassword($password) {
447
-		$this->password = $password;
448
-		return $this;
449
-	}
450
-
451
-	/**
452
-	 * @inheritdoc
453
-	 */
454
-	public function getPassword() {
455
-		return $this->password;
456
-	}
457
-
458
-	/**
459
-	 * @inheritdoc
460
-	 */
461
-	public function setSendPasswordByTalk(bool $sendPasswordByTalk) {
462
-		$this->sendPasswordByTalk = $sendPasswordByTalk;
463
-		return $this;
464
-	}
465
-
466
-	/**
467
-	 * @inheritdoc
468
-	 */
469
-	public function getSendPasswordByTalk(): bool {
470
-		return $this->sendPasswordByTalk;
471
-	}
472
-
473
-	/**
474
-	 * @inheritdoc
475
-	 */
476
-	public function setToken($token) {
477
-		$this->token = $token;
478
-		return $this;
479
-	}
480
-
481
-	/**
482
-	 * @inheritdoc
483
-	 */
484
-	public function getToken() {
485
-		return $this->token;
486
-	}
487
-
488
-	/**
489
-	 * Set the parent of this share
490
-	 *
491
-	 * @param int parent
492
-	 * @return \OCP\Share\IShare
493
-	 * @deprecated The new shares do not have parents. This is just here for legacy reasons.
494
-	 */
495
-	public function setParent($parent) {
496
-		$this->parent = $parent;
497
-		return $this;
498
-	}
499
-
500
-	/**
501
-	 * Get the parent of this share.
502
-	 *
503
-	 * @return int
504
-	 * @deprecated The new shares do not have parents. This is just here for legacy reasons.
505
-	 */
506
-	public function getParent() {
507
-		return $this->parent;
508
-	}
509
-
510
-	/**
511
-	 * @inheritdoc
512
-	 */
513
-	public function setTarget($target) {
514
-		$this->target = $target;
515
-		return $this;
516
-	}
517
-
518
-	/**
519
-	 * @inheritdoc
520
-	 */
521
-	public function getTarget() {
522
-		return $this->target;
523
-	}
524
-
525
-	/**
526
-	 * @inheritdoc
527
-	 */
528
-	public function setShareTime(\DateTime $shareTime) {
529
-		$this->shareTime = $shareTime;
530
-		return $this;
531
-	}
532
-
533
-	/**
534
-	 * @inheritdoc
535
-	 */
536
-	public function getShareTime() {
537
-		return $this->shareTime;
538
-	}
539
-
540
-	/**
541
-	 * @inheritdoc
542
-	 */
543
-	public function setMailSend($mailSend) {
544
-		$this->mailSend = $mailSend;
545
-		return $this;
546
-	}
547
-
548
-	/**
549
-	 * @inheritdoc
550
-	 */
551
-	public function getMailSend() {
552
-		return $this->mailSend;
553
-	}
554
-
555
-	/**
556
-	 * @inheritdoc
557
-	 */
558
-	public function setNodeCacheEntry(ICacheEntry $entry) {
559
-		$this->nodeCacheEntry = $entry;
560
-	}
561
-
562
-	/**
563
-	 * @inheritdoc
564
-	 */
565
-	public function getNodeCacheEntry() {
566
-		return $this->nodeCacheEntry;
567
-	}
568
-
569
-	public function setHideDownload(bool $hide): IShare {
570
-		$this->hideDownload = $hide;
571
-		return $this;
572
-	}
573
-
574
-	public function getHideDownload(): bool {
575
-		return $this->hideDownload;
576
-	}
43
+    /** @var string */
44
+    private $id;
45
+    /** @var string */
46
+    private $providerId;
47
+    /** @var Node */
48
+    private $node;
49
+    /** @var int */
50
+    private $fileId;
51
+    /** @var string */
52
+    private $nodeType;
53
+    /** @var int */
54
+    private $shareType;
55
+    /** @var string */
56
+    private $sharedWith;
57
+    /** @var string */
58
+    private $sharedWithDisplayName;
59
+    /** @var string */
60
+    private $sharedWithAvatar;
61
+    /** @var string */
62
+    private $sharedBy;
63
+    /** @var string */
64
+    private $shareOwner;
65
+    /** @var int */
66
+    private $permissions;
67
+    /** @var int */
68
+    private $status;
69
+    /** @var string */
70
+    private $note = '';
71
+    /** @var \DateTime */
72
+    private $expireDate;
73
+    /** @var string */
74
+    private $password;
75
+    /** @var bool */
76
+    private $sendPasswordByTalk = false;
77
+    /** @var string */
78
+    private $token;
79
+    /** @var int */
80
+    private $parent;
81
+    /** @var string */
82
+    private $target;
83
+    /** @var \DateTime */
84
+    private $shareTime;
85
+    /** @var bool */
86
+    private $mailSend;
87
+    /** @var string */
88
+    private $label = '';
89
+
90
+    /** @var IRootFolder */
91
+    private $rootFolder;
92
+
93
+    /** @var IUserManager */
94
+    private $userManager;
95
+
96
+    /** @var ICacheEntry|null */
97
+    private $nodeCacheEntry;
98
+
99
+    /** @var bool */
100
+    private $hideDownload = false;
101
+
102
+    public function __construct(IRootFolder $rootFolder, IUserManager $userManager) {
103
+        $this->rootFolder = $rootFolder;
104
+        $this->userManager = $userManager;
105
+    }
106
+
107
+    /**
108
+     * @inheritdoc
109
+     */
110
+    public function setId($id) {
111
+        if (is_int($id)) {
112
+            $id = (string)$id;
113
+        }
114
+
115
+        if (!is_string($id)) {
116
+            throw new \InvalidArgumentException('String expected.');
117
+        }
118
+
119
+        if ($this->id !== null) {
120
+            throw new IllegalIDChangeException('Not allowed to assign a new internal id to a share');
121
+        }
122
+
123
+        $this->id = trim($id);
124
+        return $this;
125
+    }
126
+
127
+    /**
128
+     * @inheritdoc
129
+     */
130
+    public function getId() {
131
+        return $this->id;
132
+    }
133
+
134
+    /**
135
+     * @inheritdoc
136
+     */
137
+    public function getFullId() {
138
+        if ($this->providerId === null || $this->id === null) {
139
+            throw new \UnexpectedValueException;
140
+        }
141
+        return $this->providerId . ':' . $this->id;
142
+    }
143
+
144
+    /**
145
+     * @inheritdoc
146
+     */
147
+    public function setProviderId($id) {
148
+        if (!is_string($id)) {
149
+            throw new \InvalidArgumentException('String expected.');
150
+        }
151
+
152
+        if ($this->providerId !== null) {
153
+            throw new IllegalIDChangeException('Not allowed to assign a new provider id to a share');
154
+        }
155
+
156
+        $this->providerId = trim($id);
157
+        return $this;
158
+    }
159
+
160
+    /**
161
+     * @inheritdoc
162
+     */
163
+    public function setNode(Node $node) {
164
+        $this->fileId = null;
165
+        $this->nodeType = null;
166
+        $this->node = $node;
167
+        return $this;
168
+    }
169
+
170
+    /**
171
+     * @inheritdoc
172
+     */
173
+    public function getNode() {
174
+        if ($this->node === null) {
175
+            if ($this->shareOwner === null || $this->fileId === null) {
176
+                throw new NotFoundException();
177
+            }
178
+
179
+            // for federated shares the owner can be a remote user, in this
180
+            // case we use the initiator
181
+            if ($this->userManager->userExists($this->shareOwner)) {
182
+                $userFolder = $this->rootFolder->getUserFolder($this->shareOwner);
183
+            } else {
184
+                $userFolder = $this->rootFolder->getUserFolder($this->sharedBy);
185
+            }
186
+
187
+            $nodes = $userFolder->getById($this->fileId);
188
+            if (empty($nodes)) {
189
+                throw new NotFoundException('Node for share not found, fileid: ' . $this->fileId);
190
+            }
191
+
192
+            $this->node = $nodes[0];
193
+        }
194
+
195
+        return $this->node;
196
+    }
197
+
198
+    /**
199
+     * @inheritdoc
200
+     */
201
+    public function setNodeId($fileId) {
202
+        $this->node = null;
203
+        $this->fileId = $fileId;
204
+        return $this;
205
+    }
206
+
207
+    /**
208
+     * @inheritdoc
209
+     */
210
+    public function getNodeId() {
211
+        if ($this->fileId === null) {
212
+            $this->fileId = $this->getNode()->getId();
213
+        }
214
+
215
+        return $this->fileId;
216
+    }
217
+
218
+    /**
219
+     * @inheritdoc
220
+     */
221
+    public function setNodeType($type) {
222
+        if ($type !== 'file' && $type !== 'folder') {
223
+            throw new \InvalidArgumentException();
224
+        }
225
+
226
+        $this->nodeType = $type;
227
+        return $this;
228
+    }
229
+
230
+    /**
231
+     * @inheritdoc
232
+     */
233
+    public function getNodeType() {
234
+        if ($this->nodeType === null) {
235
+            $node = $this->getNode();
236
+            $this->nodeType = $node instanceof File ? 'file' : 'folder';
237
+        }
238
+
239
+        return $this->nodeType;
240
+    }
241
+
242
+    /**
243
+     * @inheritdoc
244
+     */
245
+    public function setShareType($shareType) {
246
+        $this->shareType = $shareType;
247
+        return $this;
248
+    }
249
+
250
+    /**
251
+     * @inheritdoc
252
+     */
253
+    public function getShareType() {
254
+        return $this->shareType;
255
+    }
256
+
257
+    /**
258
+     * @inheritdoc
259
+     */
260
+    public function setSharedWith($sharedWith) {
261
+        if (!is_string($sharedWith)) {
262
+            throw new \InvalidArgumentException();
263
+        }
264
+        $this->sharedWith = $sharedWith;
265
+        return $this;
266
+    }
267
+
268
+    /**
269
+     * @inheritdoc
270
+     */
271
+    public function getSharedWith() {
272
+        return $this->sharedWith;
273
+    }
274
+
275
+    /**
276
+     * @inheritdoc
277
+     */
278
+    public function setSharedWithDisplayName($displayName) {
279
+        if (!is_string($displayName)) {
280
+            throw new \InvalidArgumentException();
281
+        }
282
+        $this->sharedWithDisplayName = $displayName;
283
+        return $this;
284
+    }
285
+
286
+    /**
287
+     * @inheritdoc
288
+     */
289
+    public function getSharedWithDisplayName() {
290
+        return $this->sharedWithDisplayName;
291
+    }
292
+
293
+    /**
294
+     * @inheritdoc
295
+     */
296
+    public function setSharedWithAvatar($src) {
297
+        if (!is_string($src)) {
298
+            throw new \InvalidArgumentException();
299
+        }
300
+        $this->sharedWithAvatar = $src;
301
+        return $this;
302
+    }
303
+
304
+    /**
305
+     * @inheritdoc
306
+     */
307
+    public function getSharedWithAvatar() {
308
+        return $this->sharedWithAvatar;
309
+    }
310
+
311
+    /**
312
+     * @inheritdoc
313
+     */
314
+    public function setPermissions($permissions) {
315
+        //TODO checkes
316
+
317
+        $this->permissions = $permissions;
318
+        return $this;
319
+    }
320
+
321
+    /**
322
+     * @inheritdoc
323
+     */
324
+    public function getPermissions() {
325
+        return $this->permissions;
326
+    }
327
+
328
+    /**
329
+     * @inheritdoc
330
+     */
331
+    public function setStatus(int $status): IShare {
332
+        $this->status = $status;
333
+        return $this;
334
+    }
335
+
336
+    /**
337
+     * @inheritdoc
338
+     */
339
+    public function getStatus(): int {
340
+        return $this->status;
341
+    }
342
+
343
+    /**
344
+     * @inheritdoc
345
+     */
346
+    public function setNote($note) {
347
+        $this->note = $note;
348
+        return $this;
349
+    }
350
+
351
+    /**
352
+     * @inheritdoc
353
+     */
354
+    public function getNote() {
355
+        if (is_string($this->note)) {
356
+            return $this->note;
357
+        }
358
+        return '';
359
+    }
360
+
361
+    /**
362
+     * @inheritdoc
363
+     */
364
+    public function setLabel($label) {
365
+        $this->label = $label;
366
+        return $this;
367
+    }
368
+
369
+    /**
370
+     * @inheritdoc
371
+     */
372
+    public function getLabel() {
373
+        return $this->label;
374
+    }
375
+
376
+    /**
377
+     * @inheritdoc
378
+     */
379
+    public function setExpirationDate($expireDate) {
380
+        //TODO checks
381
+
382
+        $this->expireDate = $expireDate;
383
+        return $this;
384
+    }
385
+
386
+    /**
387
+     * @inheritdoc
388
+     */
389
+    public function getExpirationDate() {
390
+        return $this->expireDate;
391
+    }
392
+
393
+    /**
394
+     * @inheritdoc
395
+     */
396
+    public function isExpired() {
397
+        return $this->getExpirationDate() !== null &&
398
+            $this->getExpirationDate() <= new \DateTime();
399
+    }
400
+
401
+    /**
402
+     * @inheritdoc
403
+     */
404
+    public function setSharedBy($sharedBy) {
405
+        if (!is_string($sharedBy)) {
406
+            throw new \InvalidArgumentException();
407
+        }
408
+        //TODO checks
409
+        $this->sharedBy = $sharedBy;
410
+
411
+        return $this;
412
+    }
413
+
414
+    /**
415
+     * @inheritdoc
416
+     */
417
+    public function getSharedBy() {
418
+        //TODO check if set
419
+        return $this->sharedBy;
420
+    }
421
+
422
+    /**
423
+     * @inheritdoc
424
+     */
425
+    public function setShareOwner($shareOwner) {
426
+        if (!is_string($shareOwner)) {
427
+            throw new \InvalidArgumentException();
428
+        }
429
+        //TODO checks
430
+
431
+        $this->shareOwner = $shareOwner;
432
+        return $this;
433
+    }
434
+
435
+    /**
436
+     * @inheritdoc
437
+     */
438
+    public function getShareOwner() {
439
+        //TODO check if set
440
+        return $this->shareOwner;
441
+    }
442
+
443
+    /**
444
+     * @inheritdoc
445
+     */
446
+    public function setPassword($password) {
447
+        $this->password = $password;
448
+        return $this;
449
+    }
450
+
451
+    /**
452
+     * @inheritdoc
453
+     */
454
+    public function getPassword() {
455
+        return $this->password;
456
+    }
457
+
458
+    /**
459
+     * @inheritdoc
460
+     */
461
+    public function setSendPasswordByTalk(bool $sendPasswordByTalk) {
462
+        $this->sendPasswordByTalk = $sendPasswordByTalk;
463
+        return $this;
464
+    }
465
+
466
+    /**
467
+     * @inheritdoc
468
+     */
469
+    public function getSendPasswordByTalk(): bool {
470
+        return $this->sendPasswordByTalk;
471
+    }
472
+
473
+    /**
474
+     * @inheritdoc
475
+     */
476
+    public function setToken($token) {
477
+        $this->token = $token;
478
+        return $this;
479
+    }
480
+
481
+    /**
482
+     * @inheritdoc
483
+     */
484
+    public function getToken() {
485
+        return $this->token;
486
+    }
487
+
488
+    /**
489
+     * Set the parent of this share
490
+     *
491
+     * @param int parent
492
+     * @return \OCP\Share\IShare
493
+     * @deprecated The new shares do not have parents. This is just here for legacy reasons.
494
+     */
495
+    public function setParent($parent) {
496
+        $this->parent = $parent;
497
+        return $this;
498
+    }
499
+
500
+    /**
501
+     * Get the parent of this share.
502
+     *
503
+     * @return int
504
+     * @deprecated The new shares do not have parents. This is just here for legacy reasons.
505
+     */
506
+    public function getParent() {
507
+        return $this->parent;
508
+    }
509
+
510
+    /**
511
+     * @inheritdoc
512
+     */
513
+    public function setTarget($target) {
514
+        $this->target = $target;
515
+        return $this;
516
+    }
517
+
518
+    /**
519
+     * @inheritdoc
520
+     */
521
+    public function getTarget() {
522
+        return $this->target;
523
+    }
524
+
525
+    /**
526
+     * @inheritdoc
527
+     */
528
+    public function setShareTime(\DateTime $shareTime) {
529
+        $this->shareTime = $shareTime;
530
+        return $this;
531
+    }
532
+
533
+    /**
534
+     * @inheritdoc
535
+     */
536
+    public function getShareTime() {
537
+        return $this->shareTime;
538
+    }
539
+
540
+    /**
541
+     * @inheritdoc
542
+     */
543
+    public function setMailSend($mailSend) {
544
+        $this->mailSend = $mailSend;
545
+        return $this;
546
+    }
547
+
548
+    /**
549
+     * @inheritdoc
550
+     */
551
+    public function getMailSend() {
552
+        return $this->mailSend;
553
+    }
554
+
555
+    /**
556
+     * @inheritdoc
557
+     */
558
+    public function setNodeCacheEntry(ICacheEntry $entry) {
559
+        $this->nodeCacheEntry = $entry;
560
+    }
561
+
562
+    /**
563
+     * @inheritdoc
564
+     */
565
+    public function getNodeCacheEntry() {
566
+        return $this->nodeCacheEntry;
567
+    }
568
+
569
+    public function setHideDownload(bool $hide): IShare {
570
+        $this->hideDownload = $hide;
571
+        return $this;
572
+    }
573
+
574
+    public function getHideDownload(): bool {
575
+        return $this->hideDownload;
576
+    }
577 577
 }
Please login to merge, or discard this patch.
lib/private/Repair/MoveUpdaterStepFile.php 2 patches
Indentation   +39 added lines, -39 removed lines patch added patch discarded remove patch
@@ -28,51 +28,51 @@
 block discarded – undo
28 28
 
29 29
 class MoveUpdaterStepFile implements IRepairStep {
30 30
 
31
-	/** @var \OCP\IConfig */
32
-	protected $config;
31
+    /** @var \OCP\IConfig */
32
+    protected $config;
33 33
 
34
-	/**
35
-	 * @param \OCP\IConfig $config
36
-	 */
37
-	public function __construct($config) {
38
-		$this->config = $config;
39
-	}
34
+    /**
35
+     * @param \OCP\IConfig $config
36
+     */
37
+    public function __construct($config) {
38
+        $this->config = $config;
39
+    }
40 40
 
41
-	public function getName() {
42
-		return 'Move .step file of updater to backup location';
43
-	}
41
+    public function getName() {
42
+        return 'Move .step file of updater to backup location';
43
+    }
44 44
 
45
-	public function run(IOutput $output) {
46
-		$dataDir = $this->config->getSystemValue('datadirectory', \OC::$SERVERROOT . '/data');
47
-		$instanceId = $this->config->getSystemValue('instanceid', null);
45
+    public function run(IOutput $output) {
46
+        $dataDir = $this->config->getSystemValue('datadirectory', \OC::$SERVERROOT . '/data');
47
+        $instanceId = $this->config->getSystemValue('instanceid', null);
48 48
 
49
-		if (!is_string($instanceId) || empty($instanceId)) {
50
-			return;
51
-		}
49
+        if (!is_string($instanceId) || empty($instanceId)) {
50
+            return;
51
+        }
52 52
 
53
-		$updaterFolderPath = $dataDir . '/updater-' . $instanceId;
54
-		$stepFile = $updaterFolderPath . '/.step';
55
-		if (file_exists($stepFile)) {
56
-			$output->info('.step file exists');
53
+        $updaterFolderPath = $dataDir . '/updater-' . $instanceId;
54
+        $stepFile = $updaterFolderPath . '/.step';
55
+        if (file_exists($stepFile)) {
56
+            $output->info('.step file exists');
57 57
 
58
-			$previousStepFile = $updaterFolderPath . '/.step-previous-update';
58
+            $previousStepFile = $updaterFolderPath . '/.step-previous-update';
59 59
 
60
-			// cleanup
61
-			if (file_exists($previousStepFile)) {
62
-				if (\OC_Helper::rmdirr($previousStepFile)) {
63
-					$output->info('.step-previous-update removed');
64
-				} else {
65
-					$output->info('.step-previous-update can\'t be removed - abort move of .step file');
66
-					return;
67
-				}
68
-			}
60
+            // cleanup
61
+            if (file_exists($previousStepFile)) {
62
+                if (\OC_Helper::rmdirr($previousStepFile)) {
63
+                    $output->info('.step-previous-update removed');
64
+                } else {
65
+                    $output->info('.step-previous-update can\'t be removed - abort move of .step file');
66
+                    return;
67
+                }
68
+            }
69 69
 
70
-			// move step file
71
-			if (rename($stepFile, $previousStepFile)) {
72
-				$output->info('.step file moved to .step-previous-update');
73
-			} else {
74
-				$output->warning('.step file can\'t be moved');
75
-			}
76
-		}
77
-	}
70
+            // move step file
71
+            if (rename($stepFile, $previousStepFile)) {
72
+                $output->info('.step file moved to .step-previous-update');
73
+            } else {
74
+                $output->warning('.step file can\'t be moved');
75
+            }
76
+        }
77
+    }
78 78
 }
Please login to merge, or discard this patch.
Spacing   +4 added lines, -4 removed lines patch added patch discarded remove patch
@@ -43,19 +43,19 @@
 block discarded – undo
43 43
 	}
44 44
 
45 45
 	public function run(IOutput $output) {
46
-		$dataDir = $this->config->getSystemValue('datadirectory', \OC::$SERVERROOT . '/data');
46
+		$dataDir = $this->config->getSystemValue('datadirectory', \OC::$SERVERROOT.'/data');
47 47
 		$instanceId = $this->config->getSystemValue('instanceid', null);
48 48
 
49 49
 		if (!is_string($instanceId) || empty($instanceId)) {
50 50
 			return;
51 51
 		}
52 52
 
53
-		$updaterFolderPath = $dataDir . '/updater-' . $instanceId;
54
-		$stepFile = $updaterFolderPath . '/.step';
53
+		$updaterFolderPath = $dataDir.'/updater-'.$instanceId;
54
+		$stepFile = $updaterFolderPath.'/.step';
55 55
 		if (file_exists($stepFile)) {
56 56
 			$output->info('.step file exists');
57 57
 
58
-			$previousStepFile = $updaterFolderPath . '/.step-previous-update';
58
+			$previousStepFile = $updaterFolderPath.'/.step-previous-update';
59 59
 
60 60
 			// cleanup
61 61
 			if (file_exists($previousStepFile)) {
Please login to merge, or discard this patch.
lib/private/Share/SearchResultSorter.php 2 patches
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -53,7 +53,7 @@
 block discarded – undo
53 53
 	public function sort($a, $b) {
54 54
 		if (!isset($a[$this->key]) || !isset($b[$this->key])) {
55 55
 			if (!is_null($this->log)) {
56
-				$this->log->error('Sharing dialogue: cannot sort due to ' .
56
+				$this->log->error('Sharing dialogue: cannot sort due to '.
57 57
 								  'missing array key', ['app' => 'core']);
58 58
 			}
59 59
 			return 0;
Please login to merge, or discard this patch.
Indentation   +43 added lines, -43 removed lines patch added patch discarded remove patch
@@ -29,50 +29,50 @@
 block discarded – undo
29 29
 use OCP\ILogger;
30 30
 
31 31
 class SearchResultSorter {
32
-	private $search;
33
-	private $encoding;
34
-	private $key;
35
-	private $log;
32
+    private $search;
33
+    private $encoding;
34
+    private $key;
35
+    private $log;
36 36
 
37
-	/**
38
-	 * @param string $search the search term as was given by the user
39
-	 * @param string $key the array key containing the value that should be compared
40
-	 * against
41
-	 * @param string $encoding optional, encoding to use, defaults to UTF-8
42
-	 * @param ILogger $log optional
43
-	 */
44
-	public function __construct($search, $key, ILogger $log = null, $encoding = 'UTF-8') {
45
-		$this->encoding = $encoding;
46
-		$this->key = $key;
47
-		$this->log = $log;
48
-		$this->search = mb_strtolower($search, $this->encoding);
49
-	}
37
+    /**
38
+     * @param string $search the search term as was given by the user
39
+     * @param string $key the array key containing the value that should be compared
40
+     * against
41
+     * @param string $encoding optional, encoding to use, defaults to UTF-8
42
+     * @param ILogger $log optional
43
+     */
44
+    public function __construct($search, $key, ILogger $log = null, $encoding = 'UTF-8') {
45
+        $this->encoding = $encoding;
46
+        $this->key = $key;
47
+        $this->log = $log;
48
+        $this->search = mb_strtolower($search, $this->encoding);
49
+    }
50 50
 
51
-	/**
52
-	 * User and Group names matching the search term at the beginning shall appear
53
-	 * on top of the share dialog. Following entries in alphabetical order.
54
-	 * Callback function for usort. https://www.php.net/usort
55
-	 */
56
-	public function sort($a, $b) {
57
-		if (!isset($a[$this->key]) || !isset($b[$this->key])) {
58
-			if (!is_null($this->log)) {
59
-				$this->log->error('Sharing dialogue: cannot sort due to ' .
60
-								  'missing array key', ['app' => 'core']);
61
-			}
62
-			return 0;
63
-		}
64
-		$nameA = mb_strtolower($a[$this->key], $this->encoding);
65
-		$nameB = mb_strtolower($b[$this->key], $this->encoding);
66
-		$i = mb_strpos($nameA, $this->search, 0, $this->encoding);
67
-		$j = mb_strpos($nameB, $this->search, 0, $this->encoding);
51
+    /**
52
+     * User and Group names matching the search term at the beginning shall appear
53
+     * on top of the share dialog. Following entries in alphabetical order.
54
+     * Callback function for usort. https://www.php.net/usort
55
+     */
56
+    public function sort($a, $b) {
57
+        if (!isset($a[$this->key]) || !isset($b[$this->key])) {
58
+            if (!is_null($this->log)) {
59
+                $this->log->error('Sharing dialogue: cannot sort due to ' .
60
+                                    'missing array key', ['app' => 'core']);
61
+            }
62
+            return 0;
63
+        }
64
+        $nameA = mb_strtolower($a[$this->key], $this->encoding);
65
+        $nameB = mb_strtolower($b[$this->key], $this->encoding);
66
+        $i = mb_strpos($nameA, $this->search, 0, $this->encoding);
67
+        $j = mb_strpos($nameB, $this->search, 0, $this->encoding);
68 68
 
69
-		if ($i === $j || $i > 0 && $j > 0) {
70
-			return strcmp(mb_strtolower($nameA, $this->encoding),
71
-						  mb_strtolower($nameB, $this->encoding));
72
-		} elseif ($i === 0) {
73
-			return -1;
74
-		} else {
75
-			return 1;
76
-		}
77
-	}
69
+        if ($i === $j || $i > 0 && $j > 0) {
70
+            return strcmp(mb_strtolower($nameA, $this->encoding),
71
+                            mb_strtolower($nameB, $this->encoding));
72
+        } elseif ($i === 0) {
73
+            return -1;
74
+        } else {
75
+            return 1;
76
+        }
77
+    }
78 78
 }
Please login to merge, or discard this patch.
lib/private/CapabilitiesManager.php 2 patches
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -60,7 +60,7 @@
 block discarded – undo
60 60
 					$capabilities = array_replace_recursive($capabilities, $c->getCapabilities());
61 61
 				}
62 62
 			} else {
63
-				throw new \InvalidArgumentException('The given Capability (' . get_class($c) . ') does not implement the ICapability interface');
63
+				throw new \InvalidArgumentException('The given Capability ('.get_class($c).') does not implement the ICapability interface');
64 64
 			}
65 65
 		}
66 66
 
Please login to merge, or discard this patch.
Indentation   +48 added lines, -48 removed lines patch added patch discarded remove patch
@@ -36,58 +36,58 @@
 block discarded – undo
36 36
 
37 37
 class CapabilitiesManager {
38 38
 
39
-	/** @var \Closure[] */
40
-	private $capabilities = [];
39
+    /** @var \Closure[] */
40
+    private $capabilities = [];
41 41
 
42
-	/** @var ILogger */
43
-	private $logger;
42
+    /** @var ILogger */
43
+    private $logger;
44 44
 
45
-	public function __construct(ILogger $logger) {
46
-		$this->logger = $logger;
47
-	}
45
+    public function __construct(ILogger $logger) {
46
+        $this->logger = $logger;
47
+    }
48 48
 
49
-	/**
50
-	 * Get an array of al the capabilities that are registered at this manager
51
-	 *
52
-	 * @param bool $public get public capabilities only
53
-	 * @throws \InvalidArgumentException
54
-	 * @return array
55
-	 */
56
-	public function getCapabilities(bool $public = false) : array {
57
-		$capabilities = [];
58
-		foreach ($this->capabilities as $capability) {
59
-			try {
60
-				$c = $capability();
61
-			} catch (QueryException $e) {
62
-				$this->logger->logException($e, [
63
-					'message' => 'CapabilitiesManager',
64
-					'level' => ILogger::ERROR,
65
-					'app' => 'core',
66
-				]);
67
-				continue;
68
-			}
49
+    /**
50
+     * Get an array of al the capabilities that are registered at this manager
51
+     *
52
+     * @param bool $public get public capabilities only
53
+     * @throws \InvalidArgumentException
54
+     * @return array
55
+     */
56
+    public function getCapabilities(bool $public = false) : array {
57
+        $capabilities = [];
58
+        foreach ($this->capabilities as $capability) {
59
+            try {
60
+                $c = $capability();
61
+            } catch (QueryException $e) {
62
+                $this->logger->logException($e, [
63
+                    'message' => 'CapabilitiesManager',
64
+                    'level' => ILogger::ERROR,
65
+                    'app' => 'core',
66
+                ]);
67
+                continue;
68
+            }
69 69
 
70
-			if ($c instanceof ICapability) {
71
-				if (!$public || $c instanceof IPublicCapability) {
72
-					$capabilities = array_replace_recursive($capabilities, $c->getCapabilities());
73
-				}
74
-			} else {
75
-				throw new \InvalidArgumentException('The given Capability (' . get_class($c) . ') does not implement the ICapability interface');
76
-			}
77
-		}
70
+            if ($c instanceof ICapability) {
71
+                if (!$public || $c instanceof IPublicCapability) {
72
+                    $capabilities = array_replace_recursive($capabilities, $c->getCapabilities());
73
+                }
74
+            } else {
75
+                throw new \InvalidArgumentException('The given Capability (' . get_class($c) . ') does not implement the ICapability interface');
76
+            }
77
+        }
78 78
 
79
-		return $capabilities;
80
-	}
79
+        return $capabilities;
80
+    }
81 81
 
82
-	/**
83
-	 * In order to improve lazy loading a closure can be registered which will be called in case
84
-	 * capabilities are actually requested
85
-	 *
86
-	 * $callable has to return an instance of OCP\Capabilities\ICapability
87
-	 *
88
-	 * @param \Closure $callable
89
-	 */
90
-	public function registerCapability(\Closure $callable) {
91
-		$this->capabilities[] = $callable;
92
-	}
82
+    /**
83
+     * In order to improve lazy loading a closure can be registered which will be called in case
84
+     * capabilities are actually requested
85
+     *
86
+     * $callable has to return an instance of OCP\Capabilities\ICapability
87
+     *
88
+     * @param \Closure $callable
89
+     */
90
+    public function registerCapability(\Closure $callable) {
91
+        $this->capabilities[] = $callable;
92
+    }
93 93
 }
Please login to merge, or discard this patch.
lib/private/OCS/Result.php 2 patches
Indentation   +123 added lines, -123 removed lines patch added patch discarded remove patch
@@ -32,127 +32,127 @@
 block discarded – undo
32 32
 
33 33
 class Result {
34 34
 
35
-	/** @var array  */
36
-	protected $data;
37
-
38
-	/** @var null|string */
39
-	protected $message;
40
-
41
-	/** @var int */
42
-	protected $statusCode;
43
-
44
-	/** @var integer */
45
-	protected $items;
46
-
47
-	/** @var integer */
48
-	protected $perPage;
49
-
50
-	/** @var array */
51
-	private $headers = [];
52
-
53
-	/**
54
-	 * create the OCS_Result object
55
-	 * @param mixed $data the data to return
56
-	 * @param int $code
57
-	 * @param null|string $message
58
-	 * @param array $headers
59
-	 */
60
-	public function __construct($data = null, $code = 100, $message = null, $headers = []) {
61
-		if ($data === null) {
62
-			$this->data = [];
63
-		} elseif (!is_array($data)) {
64
-			$this->data = [$this->data];
65
-		} else {
66
-			$this->data = $data;
67
-		}
68
-		$this->statusCode = $code;
69
-		$this->message = $message;
70
-		$this->headers = $headers;
71
-	}
72
-
73
-	/**
74
-	 * optionally set the total number of items available
75
-	 * @param int $items
76
-	 */
77
-	public function setTotalItems($items) {
78
-		$this->items = $items;
79
-	}
80
-
81
-	/**
82
-	 * optionally set the the number of items per page
83
-	 * @param int $items
84
-	 */
85
-	public function setItemsPerPage($items) {
86
-		$this->perPage = $items;
87
-	}
88
-
89
-	/**
90
-	 * get the status code
91
-	 * @return int
92
-	 */
93
-	public function getStatusCode() {
94
-		return $this->statusCode;
95
-	}
96
-
97
-	/**
98
-	 * get the meta data for the result
99
-	 * @return array
100
-	 */
101
-	public function getMeta() {
102
-		$meta = [];
103
-		$meta['status'] = $this->succeeded() ? 'ok' : 'failure';
104
-		$meta['statuscode'] = $this->statusCode;
105
-		$meta['message'] = $this->message;
106
-		if (isset($this->items)) {
107
-			$meta['totalitems'] = $this->items;
108
-		}
109
-		if (isset($this->perPage)) {
110
-			$meta['itemsperpage'] = $this->perPage;
111
-		}
112
-		return $meta;
113
-	}
114
-
115
-	/**
116
-	 * get the result data
117
-	 * @return array
118
-	 */
119
-	public function getData() {
120
-		return $this->data;
121
-	}
122
-
123
-	/**
124
-	 * return bool Whether the method succeeded
125
-	 * @return bool
126
-	 */
127
-	public function succeeded() {
128
-		return ($this->statusCode == 100);
129
-	}
130
-
131
-	/**
132
-	 * Adds a new header to the response
133
-	 * @param string $name The name of the HTTP header
134
-	 * @param string $value The value, null will delete it
135
-	 * @return $this
136
-	 */
137
-	public function addHeader($name, $value) {
138
-		$name = trim($name);  // always remove leading and trailing whitespace
139
-		// to be able to reliably check for security
140
-		// headers
141
-
142
-		if (is_null($value)) {
143
-			unset($this->headers[$name]);
144
-		} else {
145
-			$this->headers[$name] = $value;
146
-		}
147
-
148
-		return $this;
149
-	}
150
-
151
-	/**
152
-	 * Returns the set headers
153
-	 * @return array the headers
154
-	 */
155
-	public function getHeaders() {
156
-		return $this->headers;
157
-	}
35
+    /** @var array  */
36
+    protected $data;
37
+
38
+    /** @var null|string */
39
+    protected $message;
40
+
41
+    /** @var int */
42
+    protected $statusCode;
43
+
44
+    /** @var integer */
45
+    protected $items;
46
+
47
+    /** @var integer */
48
+    protected $perPage;
49
+
50
+    /** @var array */
51
+    private $headers = [];
52
+
53
+    /**
54
+     * create the OCS_Result object
55
+     * @param mixed $data the data to return
56
+     * @param int $code
57
+     * @param null|string $message
58
+     * @param array $headers
59
+     */
60
+    public function __construct($data = null, $code = 100, $message = null, $headers = []) {
61
+        if ($data === null) {
62
+            $this->data = [];
63
+        } elseif (!is_array($data)) {
64
+            $this->data = [$this->data];
65
+        } else {
66
+            $this->data = $data;
67
+        }
68
+        $this->statusCode = $code;
69
+        $this->message = $message;
70
+        $this->headers = $headers;
71
+    }
72
+
73
+    /**
74
+     * optionally set the total number of items available
75
+     * @param int $items
76
+     */
77
+    public function setTotalItems($items) {
78
+        $this->items = $items;
79
+    }
80
+
81
+    /**
82
+     * optionally set the the number of items per page
83
+     * @param int $items
84
+     */
85
+    public function setItemsPerPage($items) {
86
+        $this->perPage = $items;
87
+    }
88
+
89
+    /**
90
+     * get the status code
91
+     * @return int
92
+     */
93
+    public function getStatusCode() {
94
+        return $this->statusCode;
95
+    }
96
+
97
+    /**
98
+     * get the meta data for the result
99
+     * @return array
100
+     */
101
+    public function getMeta() {
102
+        $meta = [];
103
+        $meta['status'] = $this->succeeded() ? 'ok' : 'failure';
104
+        $meta['statuscode'] = $this->statusCode;
105
+        $meta['message'] = $this->message;
106
+        if (isset($this->items)) {
107
+            $meta['totalitems'] = $this->items;
108
+        }
109
+        if (isset($this->perPage)) {
110
+            $meta['itemsperpage'] = $this->perPage;
111
+        }
112
+        return $meta;
113
+    }
114
+
115
+    /**
116
+     * get the result data
117
+     * @return array
118
+     */
119
+    public function getData() {
120
+        return $this->data;
121
+    }
122
+
123
+    /**
124
+     * return bool Whether the method succeeded
125
+     * @return bool
126
+     */
127
+    public function succeeded() {
128
+        return ($this->statusCode == 100);
129
+    }
130
+
131
+    /**
132
+     * Adds a new header to the response
133
+     * @param string $name The name of the HTTP header
134
+     * @param string $value The value, null will delete it
135
+     * @return $this
136
+     */
137
+    public function addHeader($name, $value) {
138
+        $name = trim($name);  // always remove leading and trailing whitespace
139
+        // to be able to reliably check for security
140
+        // headers
141
+
142
+        if (is_null($value)) {
143
+            unset($this->headers[$name]);
144
+        } else {
145
+            $this->headers[$name] = $value;
146
+        }
147
+
148
+        return $this;
149
+    }
150
+
151
+    /**
152
+     * Returns the set headers
153
+     * @return array the headers
154
+     */
155
+    public function getHeaders() {
156
+        return $this->headers;
157
+    }
158 158
 }
Please login to merge, or discard this patch.
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -135,7 +135,7 @@
 block discarded – undo
135 135
 	 * @return $this
136 136
 	 */
137 137
 	public function addHeader($name, $value) {
138
-		$name = trim($name);  // always remove leading and trailing whitespace
138
+		$name = trim($name); // always remove leading and trailing whitespace
139 139
 		// to be able to reliably check for security
140 140
 		// headers
141 141
 
Please login to merge, or discard this patch.
lib/private/Files/FileInfo.php 2 patches
Spacing   +3 added lines, -3 removed lines patch added patch discarded remove patch
@@ -151,7 +151,7 @@  discard block
 block discarded – undo
151 151
 	 * @return int|null
152 152
 	 */
153 153
 	public function getId() {
154
-		return isset($this->data['fileid']) ? (int)  $this->data['fileid'] : null;
154
+		return isset($this->data['fileid']) ? (int) $this->data['fileid'] : null;
155 155
 	}
156 156
 
157 157
 	/**
@@ -181,7 +181,7 @@  discard block
 block discarded – undo
181 181
 	public function getEtag() {
182 182
 		$this->updateEntryfromSubMounts();
183 183
 		if (count($this->childEtags) > 0) {
184
-			$combinedEtag = $this->data['etag'] . '::' . implode('::', $this->childEtags);
184
+			$combinedEtag = $this->data['etag'].'::'.implode('::', $this->childEtags);
185 185
 			return md5($combinedEtag);
186 186
 		} else {
187 187
 			return $this->data['etag'];
@@ -377,7 +377,7 @@  discard block
 block discarded – undo
377 377
 			$relativeEntryPath = substr($entryPath, strlen($this->getPath()));
378 378
 			// attach the permissions to propagate etag on permision changes of submounts
379 379
 			$permissions = isset($data['permissions']) ? $data['permissions'] : 0;
380
-			$this->childEtags[] = $relativeEntryPath . '/' . $data['etag'] . $permissions;
380
+			$this->childEtags[] = $relativeEntryPath.'/'.$data['etag'].$permissions;
381 381
 		}
382 382
 	}
383 383
 
Please login to merge, or discard this patch.
Indentation   +376 added lines, -376 removed lines patch added patch discarded remove patch
@@ -38,380 +38,380 @@
 block discarded – undo
38 38
 use OCP\IUser;
39 39
 
40 40
 class FileInfo implements \OCP\Files\FileInfo, \ArrayAccess {
41
-	/**
42
-	 * @var array $data
43
-	 */
44
-	private $data;
45
-
46
-	/**
47
-	 * @var string $path
48
-	 */
49
-	private $path;
50
-
51
-	/**
52
-	 * @var \OC\Files\Storage\Storage $storage
53
-	 */
54
-	private $storage;
55
-
56
-	/**
57
-	 * @var string $internalPath
58
-	 */
59
-	private $internalPath;
60
-
61
-	/**
62
-	 * @var \OCP\Files\Mount\IMountPoint
63
-	 */
64
-	private $mount;
65
-
66
-	/**
67
-	 * @var IUser
68
-	 */
69
-	private $owner;
70
-
71
-	/**
72
-	 * @var string[]
73
-	 */
74
-	private $childEtags = [];
75
-
76
-	/**
77
-	 * @var IMountPoint[]
78
-	 */
79
-	private $subMounts = [];
80
-
81
-	private $subMountsUsed = false;
82
-
83
-	/**
84
-	 * The size of the file/folder without any sub mount
85
-	 *
86
-	 * @var int
87
-	 */
88
-	private $rawSize = 0;
89
-
90
-	/**
91
-	 * @param string|boolean $path
92
-	 * @param Storage\Storage $storage
93
-	 * @param string $internalPath
94
-	 * @param array|ICacheEntry $data
95
-	 * @param \OCP\Files\Mount\IMountPoint $mount
96
-	 * @param \OCP\IUser|null $owner
97
-	 */
98
-	public function __construct($path, $storage, $internalPath, $data, $mount, $owner = null) {
99
-		$this->path = $path;
100
-		$this->storage = $storage;
101
-		$this->internalPath = $internalPath;
102
-		$this->data = $data;
103
-		$this->mount = $mount;
104
-		$this->owner = $owner;
105
-		$this->rawSize = $this->data['size'] ?? 0;
106
-	}
107
-
108
-	public function offsetSet($offset, $value) {
109
-		$this->data[$offset] = $value;
110
-	}
111
-
112
-	public function offsetExists($offset) {
113
-		return isset($this->data[$offset]);
114
-	}
115
-
116
-	public function offsetUnset($offset) {
117
-		unset($this->data[$offset]);
118
-	}
119
-
120
-	public function offsetGet($offset) {
121
-		if ($offset === 'type') {
122
-			return $this->getType();
123
-		} elseif ($offset === 'etag') {
124
-			return $this->getEtag();
125
-		} elseif ($offset === 'size') {
126
-			return $this->getSize();
127
-		} elseif ($offset === 'mtime') {
128
-			return $this->getMTime();
129
-		} elseif ($offset === 'permissions') {
130
-			return $this->getPermissions();
131
-		} elseif (isset($this->data[$offset])) {
132
-			return $this->data[$offset];
133
-		} else {
134
-			return null;
135
-		}
136
-	}
137
-
138
-	/**
139
-	 * @return string
140
-	 */
141
-	public function getPath() {
142
-		return $this->path;
143
-	}
144
-
145
-	/**
146
-	 * @return \OCP\Files\Storage
147
-	 */
148
-	public function getStorage() {
149
-		return $this->storage;
150
-	}
151
-
152
-	/**
153
-	 * @return string
154
-	 */
155
-	public function getInternalPath() {
156
-		return $this->internalPath;
157
-	}
158
-
159
-	/**
160
-	 * Get FileInfo ID or null in case of part file
161
-	 *
162
-	 * @return int|null
163
-	 */
164
-	public function getId() {
165
-		return isset($this->data['fileid']) ? (int)  $this->data['fileid'] : null;
166
-	}
167
-
168
-	/**
169
-	 * @return string
170
-	 */
171
-	public function getMimetype() {
172
-		return $this->data['mimetype'];
173
-	}
174
-
175
-	/**
176
-	 * @return string
177
-	 */
178
-	public function getMimePart() {
179
-		return $this->data['mimepart'];
180
-	}
181
-
182
-	/**
183
-	 * @return string
184
-	 */
185
-	public function getName() {
186
-		return isset($this->data['name']) ? $this->data['name'] : basename($this->getPath());
187
-	}
188
-
189
-	/**
190
-	 * @return string
191
-	 */
192
-	public function getEtag() {
193
-		$this->updateEntryfromSubMounts();
194
-		if (count($this->childEtags) > 0) {
195
-			$combinedEtag = $this->data['etag'] . '::' . implode('::', $this->childEtags);
196
-			return md5($combinedEtag);
197
-		} else {
198
-			return $this->data['etag'];
199
-		}
200
-	}
201
-
202
-	/**
203
-	 * @return int
204
-	 */
205
-	public function getSize($includeMounts = true) {
206
-		if ($includeMounts) {
207
-			$this->updateEntryfromSubMounts();
208
-			return isset($this->data['size']) ? 0 + $this->data['size'] : 0;
209
-		} else {
210
-			return $this->rawSize;
211
-		}
212
-	}
213
-
214
-	/**
215
-	 * @return int
216
-	 */
217
-	public function getMTime() {
218
-		$this->updateEntryfromSubMounts();
219
-		return (int) $this->data['mtime'];
220
-	}
221
-
222
-	/**
223
-	 * @return bool
224
-	 */
225
-	public function isEncrypted() {
226
-		return $this->data['encrypted'];
227
-	}
228
-
229
-	/**
230
-	 * Return the currently version used for the HMAC in the encryption app
231
-	 *
232
-	 * @return int
233
-	 */
234
-	public function getEncryptedVersion() {
235
-		return isset($this->data['encryptedVersion']) ? (int) $this->data['encryptedVersion'] : 1;
236
-	}
237
-
238
-	/**
239
-	 * @return int
240
-	 */
241
-	public function getPermissions() {
242
-		$perms = (int) $this->data['permissions'];
243
-		if (\OCP\Util::isSharingDisabledForUser() || ($this->isShared() && !\OC\Share\Share::isResharingAllowed())) {
244
-			$perms = $perms & ~\OCP\Constants::PERMISSION_SHARE;
245
-		}
246
-		return $perms;
247
-	}
248
-
249
-	/**
250
-	 * @return string \OCP\Files\FileInfo::TYPE_FILE|\OCP\Files\FileInfo::TYPE_FOLDER
251
-	 */
252
-	public function getType() {
253
-		if (!isset($this->data['type'])) {
254
-			$this->data['type'] = ($this->getMimetype() === 'httpd/unix-directory') ? self::TYPE_FOLDER : self::TYPE_FILE;
255
-		}
256
-		return $this->data['type'];
257
-	}
258
-
259
-	public function getData() {
260
-		return $this->data;
261
-	}
262
-
263
-	/**
264
-	 * @param int $permissions
265
-	 * @return bool
266
-	 */
267
-	protected function checkPermissions($permissions) {
268
-		return ($this->getPermissions() & $permissions) === $permissions;
269
-	}
270
-
271
-	/**
272
-	 * @return bool
273
-	 */
274
-	public function isReadable() {
275
-		return $this->checkPermissions(\OCP\Constants::PERMISSION_READ);
276
-	}
277
-
278
-	/**
279
-	 * @return bool
280
-	 */
281
-	public function isUpdateable() {
282
-		return $this->checkPermissions(\OCP\Constants::PERMISSION_UPDATE);
283
-	}
284
-
285
-	/**
286
-	 * Check whether new files or folders can be created inside this folder
287
-	 *
288
-	 * @return bool
289
-	 */
290
-	public function isCreatable() {
291
-		return $this->checkPermissions(\OCP\Constants::PERMISSION_CREATE);
292
-	}
293
-
294
-	/**
295
-	 * @return bool
296
-	 */
297
-	public function isDeletable() {
298
-		return $this->checkPermissions(\OCP\Constants::PERMISSION_DELETE);
299
-	}
300
-
301
-	/**
302
-	 * @return bool
303
-	 */
304
-	public function isShareable() {
305
-		return $this->checkPermissions(\OCP\Constants::PERMISSION_SHARE);
306
-	}
307
-
308
-	/**
309
-	 * Check if a file or folder is shared
310
-	 *
311
-	 * @return bool
312
-	 */
313
-	public function isShared() {
314
-		$sid = $this->getStorage()->getId();
315
-		if (!is_null($sid)) {
316
-			$sid = explode(':', $sid);
317
-			return ($sid[0] === 'shared');
318
-		}
319
-
320
-		return false;
321
-	}
322
-
323
-	public function isMounted() {
324
-		$storage = $this->getStorage();
325
-		if ($storage->instanceOfStorage('\OCP\Files\IHomeStorage')) {
326
-			return false;
327
-		}
328
-		$sid = $storage->getId();
329
-		if (!is_null($sid)) {
330
-			$sid = explode(':', $sid);
331
-			return ($sid[0] !== 'home' and $sid[0] !== 'shared');
332
-		}
333
-
334
-		return false;
335
-	}
336
-
337
-	/**
338
-	 * Get the mountpoint the file belongs to
339
-	 *
340
-	 * @return \OCP\Files\Mount\IMountPoint
341
-	 */
342
-	public function getMountPoint() {
343
-		return $this->mount;
344
-	}
345
-
346
-	/**
347
-	 * Get the owner of the file
348
-	 *
349
-	 * @return \OCP\IUser
350
-	 */
351
-	public function getOwner() {
352
-		return $this->owner;
353
-	}
354
-
355
-	/**
356
-	 * @param IMountPoint[] $mounts
357
-	 */
358
-	public function setSubMounts(array $mounts) {
359
-		$this->subMounts = $mounts;
360
-	}
361
-
362
-	private function updateEntryfromSubMounts() {
363
-		if ($this->subMountsUsed) {
364
-			return;
365
-		}
366
-		$this->subMountsUsed = true;
367
-		foreach ($this->subMounts as $mount) {
368
-			$subStorage = $mount->getStorage();
369
-			if ($subStorage) {
370
-				$subCache = $subStorage->getCache('');
371
-				$rootEntry = $subCache->get('');
372
-				$this->addSubEntry($rootEntry, $mount->getMountPoint());
373
-			}
374
-		}
375
-	}
376
-
377
-	/**
378
-	 * Add a cache entry which is the child of this folder
379
-	 *
380
-	 * Sets the size, etag and size to for cross-storage childs
381
-	 *
382
-	 * @param array|ICacheEntry $data cache entry for the child
383
-	 * @param string $entryPath full path of the child entry
384
-	 */
385
-	public function addSubEntry($data, $entryPath) {
386
-		$this->data['size'] += isset($data['size']) ? $data['size'] : 0;
387
-		if (isset($data['mtime'])) {
388
-			$this->data['mtime'] = max($this->data['mtime'], $data['mtime']);
389
-		}
390
-		if (isset($data['etag'])) {
391
-			// prefix the etag with the relative path of the subentry to propagate etag on mount moves
392
-			$relativeEntryPath = substr($entryPath, strlen($this->getPath()));
393
-			// attach the permissions to propagate etag on permision changes of submounts
394
-			$permissions = isset($data['permissions']) ? $data['permissions'] : 0;
395
-			$this->childEtags[] = $relativeEntryPath . '/' . $data['etag'] . $permissions;
396
-		}
397
-	}
398
-
399
-	/**
400
-	 * @inheritdoc
401
-	 */
402
-	public function getChecksum() {
403
-		return $this->data['checksum'];
404
-	}
405
-
406
-	public function getExtension(): string {
407
-		return pathinfo($this->getName(), PATHINFO_EXTENSION);
408
-	}
409
-
410
-	public function getCreationTime(): int {
411
-		return (int) $this->data['creation_time'];
412
-	}
413
-
414
-	public function getUploadTime(): int {
415
-		return (int) $this->data['upload_time'];
416
-	}
41
+    /**
42
+     * @var array $data
43
+     */
44
+    private $data;
45
+
46
+    /**
47
+     * @var string $path
48
+     */
49
+    private $path;
50
+
51
+    /**
52
+     * @var \OC\Files\Storage\Storage $storage
53
+     */
54
+    private $storage;
55
+
56
+    /**
57
+     * @var string $internalPath
58
+     */
59
+    private $internalPath;
60
+
61
+    /**
62
+     * @var \OCP\Files\Mount\IMountPoint
63
+     */
64
+    private $mount;
65
+
66
+    /**
67
+     * @var IUser
68
+     */
69
+    private $owner;
70
+
71
+    /**
72
+     * @var string[]
73
+     */
74
+    private $childEtags = [];
75
+
76
+    /**
77
+     * @var IMountPoint[]
78
+     */
79
+    private $subMounts = [];
80
+
81
+    private $subMountsUsed = false;
82
+
83
+    /**
84
+     * The size of the file/folder without any sub mount
85
+     *
86
+     * @var int
87
+     */
88
+    private $rawSize = 0;
89
+
90
+    /**
91
+     * @param string|boolean $path
92
+     * @param Storage\Storage $storage
93
+     * @param string $internalPath
94
+     * @param array|ICacheEntry $data
95
+     * @param \OCP\Files\Mount\IMountPoint $mount
96
+     * @param \OCP\IUser|null $owner
97
+     */
98
+    public function __construct($path, $storage, $internalPath, $data, $mount, $owner = null) {
99
+        $this->path = $path;
100
+        $this->storage = $storage;
101
+        $this->internalPath = $internalPath;
102
+        $this->data = $data;
103
+        $this->mount = $mount;
104
+        $this->owner = $owner;
105
+        $this->rawSize = $this->data['size'] ?? 0;
106
+    }
107
+
108
+    public function offsetSet($offset, $value) {
109
+        $this->data[$offset] = $value;
110
+    }
111
+
112
+    public function offsetExists($offset) {
113
+        return isset($this->data[$offset]);
114
+    }
115
+
116
+    public function offsetUnset($offset) {
117
+        unset($this->data[$offset]);
118
+    }
119
+
120
+    public function offsetGet($offset) {
121
+        if ($offset === 'type') {
122
+            return $this->getType();
123
+        } elseif ($offset === 'etag') {
124
+            return $this->getEtag();
125
+        } elseif ($offset === 'size') {
126
+            return $this->getSize();
127
+        } elseif ($offset === 'mtime') {
128
+            return $this->getMTime();
129
+        } elseif ($offset === 'permissions') {
130
+            return $this->getPermissions();
131
+        } elseif (isset($this->data[$offset])) {
132
+            return $this->data[$offset];
133
+        } else {
134
+            return null;
135
+        }
136
+    }
137
+
138
+    /**
139
+     * @return string
140
+     */
141
+    public function getPath() {
142
+        return $this->path;
143
+    }
144
+
145
+    /**
146
+     * @return \OCP\Files\Storage
147
+     */
148
+    public function getStorage() {
149
+        return $this->storage;
150
+    }
151
+
152
+    /**
153
+     * @return string
154
+     */
155
+    public function getInternalPath() {
156
+        return $this->internalPath;
157
+    }
158
+
159
+    /**
160
+     * Get FileInfo ID or null in case of part file
161
+     *
162
+     * @return int|null
163
+     */
164
+    public function getId() {
165
+        return isset($this->data['fileid']) ? (int)  $this->data['fileid'] : null;
166
+    }
167
+
168
+    /**
169
+     * @return string
170
+     */
171
+    public function getMimetype() {
172
+        return $this->data['mimetype'];
173
+    }
174
+
175
+    /**
176
+     * @return string
177
+     */
178
+    public function getMimePart() {
179
+        return $this->data['mimepart'];
180
+    }
181
+
182
+    /**
183
+     * @return string
184
+     */
185
+    public function getName() {
186
+        return isset($this->data['name']) ? $this->data['name'] : basename($this->getPath());
187
+    }
188
+
189
+    /**
190
+     * @return string
191
+     */
192
+    public function getEtag() {
193
+        $this->updateEntryfromSubMounts();
194
+        if (count($this->childEtags) > 0) {
195
+            $combinedEtag = $this->data['etag'] . '::' . implode('::', $this->childEtags);
196
+            return md5($combinedEtag);
197
+        } else {
198
+            return $this->data['etag'];
199
+        }
200
+    }
201
+
202
+    /**
203
+     * @return int
204
+     */
205
+    public function getSize($includeMounts = true) {
206
+        if ($includeMounts) {
207
+            $this->updateEntryfromSubMounts();
208
+            return isset($this->data['size']) ? 0 + $this->data['size'] : 0;
209
+        } else {
210
+            return $this->rawSize;
211
+        }
212
+    }
213
+
214
+    /**
215
+     * @return int
216
+     */
217
+    public function getMTime() {
218
+        $this->updateEntryfromSubMounts();
219
+        return (int) $this->data['mtime'];
220
+    }
221
+
222
+    /**
223
+     * @return bool
224
+     */
225
+    public function isEncrypted() {
226
+        return $this->data['encrypted'];
227
+    }
228
+
229
+    /**
230
+     * Return the currently version used for the HMAC in the encryption app
231
+     *
232
+     * @return int
233
+     */
234
+    public function getEncryptedVersion() {
235
+        return isset($this->data['encryptedVersion']) ? (int) $this->data['encryptedVersion'] : 1;
236
+    }
237
+
238
+    /**
239
+     * @return int
240
+     */
241
+    public function getPermissions() {
242
+        $perms = (int) $this->data['permissions'];
243
+        if (\OCP\Util::isSharingDisabledForUser() || ($this->isShared() && !\OC\Share\Share::isResharingAllowed())) {
244
+            $perms = $perms & ~\OCP\Constants::PERMISSION_SHARE;
245
+        }
246
+        return $perms;
247
+    }
248
+
249
+    /**
250
+     * @return string \OCP\Files\FileInfo::TYPE_FILE|\OCP\Files\FileInfo::TYPE_FOLDER
251
+     */
252
+    public function getType() {
253
+        if (!isset($this->data['type'])) {
254
+            $this->data['type'] = ($this->getMimetype() === 'httpd/unix-directory') ? self::TYPE_FOLDER : self::TYPE_FILE;
255
+        }
256
+        return $this->data['type'];
257
+    }
258
+
259
+    public function getData() {
260
+        return $this->data;
261
+    }
262
+
263
+    /**
264
+     * @param int $permissions
265
+     * @return bool
266
+     */
267
+    protected function checkPermissions($permissions) {
268
+        return ($this->getPermissions() & $permissions) === $permissions;
269
+    }
270
+
271
+    /**
272
+     * @return bool
273
+     */
274
+    public function isReadable() {
275
+        return $this->checkPermissions(\OCP\Constants::PERMISSION_READ);
276
+    }
277
+
278
+    /**
279
+     * @return bool
280
+     */
281
+    public function isUpdateable() {
282
+        return $this->checkPermissions(\OCP\Constants::PERMISSION_UPDATE);
283
+    }
284
+
285
+    /**
286
+     * Check whether new files or folders can be created inside this folder
287
+     *
288
+     * @return bool
289
+     */
290
+    public function isCreatable() {
291
+        return $this->checkPermissions(\OCP\Constants::PERMISSION_CREATE);
292
+    }
293
+
294
+    /**
295
+     * @return bool
296
+     */
297
+    public function isDeletable() {
298
+        return $this->checkPermissions(\OCP\Constants::PERMISSION_DELETE);
299
+    }
300
+
301
+    /**
302
+     * @return bool
303
+     */
304
+    public function isShareable() {
305
+        return $this->checkPermissions(\OCP\Constants::PERMISSION_SHARE);
306
+    }
307
+
308
+    /**
309
+     * Check if a file or folder is shared
310
+     *
311
+     * @return bool
312
+     */
313
+    public function isShared() {
314
+        $sid = $this->getStorage()->getId();
315
+        if (!is_null($sid)) {
316
+            $sid = explode(':', $sid);
317
+            return ($sid[0] === 'shared');
318
+        }
319
+
320
+        return false;
321
+    }
322
+
323
+    public function isMounted() {
324
+        $storage = $this->getStorage();
325
+        if ($storage->instanceOfStorage('\OCP\Files\IHomeStorage')) {
326
+            return false;
327
+        }
328
+        $sid = $storage->getId();
329
+        if (!is_null($sid)) {
330
+            $sid = explode(':', $sid);
331
+            return ($sid[0] !== 'home' and $sid[0] !== 'shared');
332
+        }
333
+
334
+        return false;
335
+    }
336
+
337
+    /**
338
+     * Get the mountpoint the file belongs to
339
+     *
340
+     * @return \OCP\Files\Mount\IMountPoint
341
+     */
342
+    public function getMountPoint() {
343
+        return $this->mount;
344
+    }
345
+
346
+    /**
347
+     * Get the owner of the file
348
+     *
349
+     * @return \OCP\IUser
350
+     */
351
+    public function getOwner() {
352
+        return $this->owner;
353
+    }
354
+
355
+    /**
356
+     * @param IMountPoint[] $mounts
357
+     */
358
+    public function setSubMounts(array $mounts) {
359
+        $this->subMounts = $mounts;
360
+    }
361
+
362
+    private function updateEntryfromSubMounts() {
363
+        if ($this->subMountsUsed) {
364
+            return;
365
+        }
366
+        $this->subMountsUsed = true;
367
+        foreach ($this->subMounts as $mount) {
368
+            $subStorage = $mount->getStorage();
369
+            if ($subStorage) {
370
+                $subCache = $subStorage->getCache('');
371
+                $rootEntry = $subCache->get('');
372
+                $this->addSubEntry($rootEntry, $mount->getMountPoint());
373
+            }
374
+        }
375
+    }
376
+
377
+    /**
378
+     * Add a cache entry which is the child of this folder
379
+     *
380
+     * Sets the size, etag and size to for cross-storage childs
381
+     *
382
+     * @param array|ICacheEntry $data cache entry for the child
383
+     * @param string $entryPath full path of the child entry
384
+     */
385
+    public function addSubEntry($data, $entryPath) {
386
+        $this->data['size'] += isset($data['size']) ? $data['size'] : 0;
387
+        if (isset($data['mtime'])) {
388
+            $this->data['mtime'] = max($this->data['mtime'], $data['mtime']);
389
+        }
390
+        if (isset($data['etag'])) {
391
+            // prefix the etag with the relative path of the subentry to propagate etag on mount moves
392
+            $relativeEntryPath = substr($entryPath, strlen($this->getPath()));
393
+            // attach the permissions to propagate etag on permision changes of submounts
394
+            $permissions = isset($data['permissions']) ? $data['permissions'] : 0;
395
+            $this->childEtags[] = $relativeEntryPath . '/' . $data['etag'] . $permissions;
396
+        }
397
+    }
398
+
399
+    /**
400
+     * @inheritdoc
401
+     */
402
+    public function getChecksum() {
403
+        return $this->data['checksum'];
404
+    }
405
+
406
+    public function getExtension(): string {
407
+        return pathinfo($this->getName(), PATHINFO_EXTENSION);
408
+    }
409
+
410
+    public function getCreationTime(): int {
411
+        return (int) $this->data['creation_time'];
412
+    }
413
+
414
+    public function getUploadTime(): int {
415
+        return (int) $this->data['upload_time'];
416
+    }
417 417
 }
Please login to merge, or discard this patch.
lib/private/Files/Storage/CommonTest.php 1 patch
Indentation   +47 added lines, -47 removed lines patch added patch discarded remove patch
@@ -33,53 +33,53 @@
 block discarded – undo
33 33
 namespace OC\Files\Storage;
34 34
 
35 35
 class CommonTest extends \OC\Files\Storage\Common {
36
-	/**
37
-	 * underlying local storage used for missing functions
38
-	 * @var \OC\Files\Storage\Local
39
-	 */
40
-	private $storage;
36
+    /**
37
+     * underlying local storage used for missing functions
38
+     * @var \OC\Files\Storage\Local
39
+     */
40
+    private $storage;
41 41
 
42
-	public function __construct($params) {
43
-		$this->storage = new \OC\Files\Storage\Local($params);
44
-	}
42
+    public function __construct($params) {
43
+        $this->storage = new \OC\Files\Storage\Local($params);
44
+    }
45 45
 
46
-	public function getId() {
47
-		return 'test::'.$this->storage->getId();
48
-	}
49
-	public function mkdir($path) {
50
-		return $this->storage->mkdir($path);
51
-	}
52
-	public function rmdir($path) {
53
-		return $this->storage->rmdir($path);
54
-	}
55
-	public function opendir($path) {
56
-		return $this->storage->opendir($path);
57
-	}
58
-	public function stat($path) {
59
-		return $this->storage->stat($path);
60
-	}
61
-	public function filetype($path) {
62
-		return @$this->storage->filetype($path);
63
-	}
64
-	public function isReadable($path) {
65
-		return $this->storage->isReadable($path);
66
-	}
67
-	public function isUpdatable($path) {
68
-		return $this->storage->isUpdatable($path);
69
-	}
70
-	public function file_exists($path) {
71
-		return $this->storage->file_exists($path);
72
-	}
73
-	public function unlink($path) {
74
-		return $this->storage->unlink($path);
75
-	}
76
-	public function fopen($path, $mode) {
77
-		return $this->storage->fopen($path, $mode);
78
-	}
79
-	public function free_space($path) {
80
-		return $this->storage->free_space($path);
81
-	}
82
-	public function touch($path, $mtime = null) {
83
-		return $this->storage->touch($path, $mtime);
84
-	}
46
+    public function getId() {
47
+        return 'test::'.$this->storage->getId();
48
+    }
49
+    public function mkdir($path) {
50
+        return $this->storage->mkdir($path);
51
+    }
52
+    public function rmdir($path) {
53
+        return $this->storage->rmdir($path);
54
+    }
55
+    public function opendir($path) {
56
+        return $this->storage->opendir($path);
57
+    }
58
+    public function stat($path) {
59
+        return $this->storage->stat($path);
60
+    }
61
+    public function filetype($path) {
62
+        return @$this->storage->filetype($path);
63
+    }
64
+    public function isReadable($path) {
65
+        return $this->storage->isReadable($path);
66
+    }
67
+    public function isUpdatable($path) {
68
+        return $this->storage->isUpdatable($path);
69
+    }
70
+    public function file_exists($path) {
71
+        return $this->storage->file_exists($path);
72
+    }
73
+    public function unlink($path) {
74
+        return $this->storage->unlink($path);
75
+    }
76
+    public function fopen($path, $mode) {
77
+        return $this->storage->fopen($path, $mode);
78
+    }
79
+    public function free_space($path) {
80
+        return $this->storage->free_space($path);
81
+    }
82
+    public function touch($path, $mtime = null) {
83
+        return $this->storage->touch($path, $mtime);
84
+    }
85 85
 }
Please login to merge, or discard this patch.