Passed
Push — master ( 0e4395...7dacd4 )
by Roeland
14:35 queued 11s
created
lib/private/Files/Node/Node.php 2 patches
Spacing   +6 added lines, -6 removed lines patch added patch discarded remove patch
@@ -288,7 +288,7 @@  discard block
 block discarded – undo
288 288
 		$path = str_replace('\\', '/', $path);
289 289
 		//add leading slash
290 290
 		if ($path[0] !== '/') {
291
-			$path = '/' . $path;
291
+			$path = '/'.$path;
292 292
 		}
293 293
 		//remove duplicate slashes
294 294
 		while (strpos($path, '//') !== false) {
@@ -308,7 +308,7 @@  discard block
 block discarded – undo
308 308
 	 */
309 309
 	public function isValidPath($path) {
310 310
 		if (!$path || $path[0] !== '/') {
311
-			$path = '/' . $path;
311
+			$path = '/'.$path;
312 312
 		}
313 313
 		if (strstr($path, '/../') || strrchr($path, '/') === '/..') {
314 314
 			return false;
@@ -389,14 +389,14 @@  discard block
 block discarded – undo
389 389
 			$this->root->emit('\OC\Files', 'preCopy', [$this, $nonExisting]);
390 390
 			$this->root->emit('\OC\Files', 'preWrite', [$nonExisting]);
391 391
 			if (!$this->view->copy($this->path, $targetPath)) {
392
-				throw new NotPermittedException('Could not copy ' . $this->path . ' to ' . $targetPath);
392
+				throw new NotPermittedException('Could not copy '.$this->path.' to '.$targetPath);
393 393
 			}
394 394
 			$targetNode = $this->root->get($targetPath);
395 395
 			$this->root->emit('\OC\Files', 'postCopy', [$this, $targetNode]);
396 396
 			$this->root->emit('\OC\Files', 'postWrite', [$targetNode]);
397 397
 			return $targetNode;
398 398
 		} else {
399
-			throw new NotPermittedException('No permission to copy to path ' . $targetPath);
399
+			throw new NotPermittedException('No permission to copy to path '.$targetPath);
400 400
 		}
401 401
 	}
402 402
 
@@ -413,7 +413,7 @@  discard block
 block discarded – undo
413 413
 			$this->root->emit('\OC\Files', 'preRename', [$this, $nonExisting]);
414 414
 			$this->root->emit('\OC\Files', 'preWrite', [$nonExisting]);
415 415
 			if (!$this->view->rename($this->path, $targetPath)) {
416
-				throw new NotPermittedException('Could not move ' . $this->path . ' to ' . $targetPath);
416
+				throw new NotPermittedException('Could not move '.$this->path.' to '.$targetPath);
417 417
 			}
418 418
 			$targetNode = $this->root->get($targetPath);
419 419
 			$this->root->emit('\OC\Files', 'postRename', [$this, $targetNode]);
@@ -421,7 +421,7 @@  discard block
 block discarded – undo
421 421
 			$this->path = $targetPath;
422 422
 			return $targetNode;
423 423
 		} else {
424
-			throw new NotPermittedException('No permission to move to path ' . $targetPath);
424
+			throw new NotPermittedException('No permission to move to path '.$targetPath);
425 425
 		}
426 426
 	}
427 427
 
Please login to merge, or discard this patch.
Indentation   +395 added lines, -395 removed lines patch added patch discarded remove patch
@@ -35,400 +35,400 @@
 block discarded – undo
35 35
 
36 36
 // FIXME: this class really should be abstract
37 37
 class Node implements \OCP\Files\Node {
38
-	/**
39
-	 * @var \OC\Files\View $view
40
-	 */
41
-	protected $view;
42
-
43
-	/**
44
-	 * @var \OC\Files\Node\Root $root
45
-	 */
46
-	protected $root;
47
-
48
-	/**
49
-	 * @var string $path
50
-	 */
51
-	protected $path;
52
-
53
-	/**
54
-	 * @var \OCP\Files\FileInfo
55
-	 */
56
-	protected $fileInfo;
57
-
58
-	/**
59
-	 * @param \OC\Files\View $view
60
-	 * @param \OCP\Files\IRootFolder $root
61
-	 * @param string $path
62
-	 * @param FileInfo $fileInfo
63
-	 */
64
-	public function __construct($root, $view, $path, $fileInfo = null) {
65
-		$this->view = $view;
66
-		$this->root = $root;
67
-		$this->path = $path;
68
-		$this->fileInfo = $fileInfo;
69
-	}
70
-
71
-	/**
72
-	 * Creates a Node of the same type that represents a non-existing path
73
-	 *
74
-	 * @param string $path path
75
-	 * @return string non-existing node class
76
-	 */
77
-	protected function createNonExistingNode($path) {
78
-		throw new \Exception('Must be implemented by subclasses');
79
-	}
80
-
81
-	/**
82
-	 * Returns the matching file info
83
-	 *
84
-	 * @return FileInfo
85
-	 * @throws InvalidPathException
86
-	 * @throws NotFoundException
87
-	 */
88
-	public function getFileInfo() {
89
-		if (!Filesystem::isValidPath($this->path)) {
90
-			throw new InvalidPathException();
91
-		}
92
-		if (!$this->fileInfo) {
93
-			$fileInfo = $this->view->getFileInfo($this->path);
94
-			if ($fileInfo instanceof FileInfo) {
95
-				$this->fileInfo = $fileInfo;
96
-			} else {
97
-				throw new NotFoundException();
98
-			}
99
-		}
100
-		return $this->fileInfo;
101
-	}
102
-
103
-	/**
104
-	 * @param string[] $hooks
105
-	 */
106
-	protected function sendHooks($hooks) {
107
-		foreach ($hooks as $hook) {
108
-			$this->root->emit('\OC\Files', $hook, array($this));
109
-		}
110
-	}
111
-
112
-	/**
113
-	 * @param int $permissions
114
-	 * @return bool
115
-	 */
116
-	protected function checkPermissions($permissions) {
117
-		return ($this->getPermissions() & $permissions) === $permissions;
118
-	}
119
-
120
-	public function delete() {
121
-	}
122
-
123
-	/**
124
-	 * @param int $mtime
125
-	 * @throws \OCP\Files\NotPermittedException
126
-	 */
127
-	public function touch($mtime = null) {
128
-		if ($this->checkPermissions(\OCP\Constants::PERMISSION_UPDATE)) {
129
-			$this->sendHooks(array('preTouch'));
130
-			$this->view->touch($this->path, $mtime);
131
-			$this->sendHooks(array('postTouch'));
132
-			if ($this->fileInfo) {
133
-				if (is_null($mtime)) {
134
-					$mtime = time();
135
-				}
136
-				$this->fileInfo['mtime'] = $mtime;
137
-			}
138
-		} else {
139
-			throw new NotPermittedException();
140
-		}
141
-	}
142
-
143
-	/**
144
-	 * @return \OC\Files\Storage\Storage
145
-	 * @throws \OCP\Files\NotFoundException
146
-	 */
147
-	public function getStorage() {
148
-		list($storage,) = $this->view->resolvePath($this->path);
149
-		return $storage;
150
-	}
151
-
152
-	/**
153
-	 * @return string
154
-	 */
155
-	public function getPath() {
156
-		return $this->path;
157
-	}
158
-
159
-	/**
160
-	 * @return string
161
-	 */
162
-	public function getInternalPath() {
163
-		list(, $internalPath) = $this->view->resolvePath($this->path);
164
-		return $internalPath;
165
-	}
166
-
167
-	/**
168
-	 * @return int
169
-	 * @throws InvalidPathException
170
-	 * @throws NotFoundException
171
-	 */
172
-	public function getId() {
173
-		return $this->getFileInfo()->getId();
174
-	}
175
-
176
-	/**
177
-	 * @return array
178
-	 */
179
-	public function stat() {
180
-		return $this->view->stat($this->path);
181
-	}
182
-
183
-	/**
184
-	 * @return int
185
-	 * @throws InvalidPathException
186
-	 * @throws NotFoundException
187
-	 */
188
-	public function getMTime() {
189
-		return $this->getFileInfo()->getMTime();
190
-	}
191
-
192
-	/**
193
-	 * @return int
194
-	 * @throws InvalidPathException
195
-	 * @throws NotFoundException
196
-	 */
197
-	public function getSize() {
198
-		return $this->getFileInfo()->getSize();
199
-	}
200
-
201
-	/**
202
-	 * @return string
203
-	 * @throws InvalidPathException
204
-	 * @throws NotFoundException
205
-	 */
206
-	public function getEtag() {
207
-		return $this->getFileInfo()->getEtag();
208
-	}
209
-
210
-	/**
211
-	 * @return int
212
-	 * @throws InvalidPathException
213
-	 * @throws NotFoundException
214
-	 */
215
-	public function getPermissions() {
216
-		return $this->getFileInfo()->getPermissions();
217
-	}
218
-
219
-	/**
220
-	 * @return bool
221
-	 * @throws InvalidPathException
222
-	 * @throws NotFoundException
223
-	 */
224
-	public function isReadable() {
225
-		return $this->getFileInfo()->isReadable();
226
-	}
227
-
228
-	/**
229
-	 * @return bool
230
-	 * @throws InvalidPathException
231
-	 * @throws NotFoundException
232
-	 */
233
-	public function isUpdateable() {
234
-		return $this->getFileInfo()->isUpdateable();
235
-	}
236
-
237
-	/**
238
-	 * @return bool
239
-	 * @throws InvalidPathException
240
-	 * @throws NotFoundException
241
-	 */
242
-	public function isDeletable() {
243
-		return $this->getFileInfo()->isDeletable();
244
-	}
245
-
246
-	/**
247
-	 * @return bool
248
-	 * @throws InvalidPathException
249
-	 * @throws NotFoundException
250
-	 */
251
-	public function isShareable() {
252
-		return $this->getFileInfo()->isShareable();
253
-	}
254
-
255
-	/**
256
-	 * @return bool
257
-	 * @throws InvalidPathException
258
-	 * @throws NotFoundException
259
-	 */
260
-	public function isCreatable() {
261
-		return $this->getFileInfo()->isCreatable();
262
-	}
263
-
264
-	/**
265
-	 * @return Node
266
-	 */
267
-	public function getParent() {
268
-		$newPath = dirname($this->path);
269
-		if ($newPath === '' || $newPath === '.' || $newPath === '/') {
270
-			return $this->root;
271
-		}
272
-		return $this->root->get($newPath);
273
-	}
274
-
275
-	/**
276
-	 * @return string
277
-	 */
278
-	public function getName() {
279
-		return basename($this->path);
280
-	}
281
-
282
-	/**
283
-	 * @param string $path
284
-	 * @return string
285
-	 */
286
-	protected function normalizePath($path) {
287
-		if ($path === '' or $path === '/') {
288
-			return '/';
289
-		}
290
-		//no windows style slashes
291
-		$path = str_replace('\\', '/', $path);
292
-		//add leading slash
293
-		if ($path[0] !== '/') {
294
-			$path = '/' . $path;
295
-		}
296
-		//remove duplicate slashes
297
-		while (strpos($path, '//') !== false) {
298
-			$path = str_replace('//', '/', $path);
299
-		}
300
-		//remove trailing slash
301
-		$path = rtrim($path, '/');
302
-
303
-		return $path;
304
-	}
305
-
306
-	/**
307
-	 * check if the requested path is valid
308
-	 *
309
-	 * @param string $path
310
-	 * @return bool
311
-	 */
312
-	public function isValidPath($path) {
313
-		if (!$path || $path[0] !== '/') {
314
-			$path = '/' . $path;
315
-		}
316
-		if (strstr($path, '/../') || strrchr($path, '/') === '/..') {
317
-			return false;
318
-		}
319
-		return true;
320
-	}
321
-
322
-	public function isMounted() {
323
-		return $this->getFileInfo()->isMounted();
324
-	}
325
-
326
-	public function isShared() {
327
-		return $this->getFileInfo()->isShared();
328
-	}
329
-
330
-	public function getMimeType() {
331
-		return $this->getFileInfo()->getMimetype();
332
-	}
333
-
334
-	public function getMimePart() {
335
-		return $this->getFileInfo()->getMimePart();
336
-	}
337
-
338
-	public function getType() {
339
-		return $this->getFileInfo()->getType();
340
-	}
341
-
342
-	public function isEncrypted() {
343
-		return $this->getFileInfo()->isEncrypted();
344
-	}
345
-
346
-	public function getMountPoint() {
347
-		return $this->getFileInfo()->getMountPoint();
348
-	}
349
-
350
-	public function getOwner() {
351
-		return $this->getFileInfo()->getOwner();
352
-	}
353
-
354
-	public function getChecksum() {
355
-	}
356
-
357
-	public function getExtension(): string {
358
-		return $this->getFileInfo()->getExtension();
359
-	}
360
-
361
-	/**
362
-	 * @param int $type \OCP\Lock\ILockingProvider::LOCK_SHARED or \OCP\Lock\ILockingProvider::LOCK_EXCLUSIVE
363
-	 * @throws \OCP\Lock\LockedException
364
-	 */
365
-	public function lock($type) {
366
-		$this->view->lockFile($this->path, $type);
367
-	}
368
-
369
-	/**
370
-	 * @param int $type \OCP\Lock\ILockingProvider::LOCK_SHARED or \OCP\Lock\ILockingProvider::LOCK_EXCLUSIVE
371
-	 * @throws \OCP\Lock\LockedException
372
-	 */
373
-	public function changeLock($type) {
374
-		$this->view->changeLock($this->path, $type);
375
-	}
376
-
377
-	/**
378
-	 * @param int $type \OCP\Lock\ILockingProvider::LOCK_SHARED or \OCP\Lock\ILockingProvider::LOCK_EXCLUSIVE
379
-	 * @throws \OCP\Lock\LockedException
380
-	 */
381
-	public function unlock($type) {
382
-		$this->view->unlockFile($this->path, $type);
383
-	}
384
-
385
-	/**
386
-	 * @param string $targetPath
387
-	 * @throws \OCP\Files\NotPermittedException if copy not allowed or failed
388
-	 * @return \OC\Files\Node\Node
389
-	 */
390
-	public function copy($targetPath) {
391
-		$targetPath = $this->normalizePath($targetPath);
392
-		$parent = $this->root->get(dirname($targetPath));
393
-		if ($parent instanceof Folder and $this->isValidPath($targetPath) and $parent->isCreatable()) {
394
-			$nonExisting = $this->createNonExistingNode($targetPath);
395
-			$this->root->emit('\OC\Files', 'preCopy', [$this, $nonExisting]);
396
-			$this->root->emit('\OC\Files', 'preWrite', [$nonExisting]);
397
-			if (!$this->view->copy($this->path, $targetPath)) {
398
-				throw new NotPermittedException('Could not copy ' . $this->path . ' to ' . $targetPath);
399
-			}
400
-			$targetNode = $this->root->get($targetPath);
401
-			$this->root->emit('\OC\Files', 'postCopy', [$this, $targetNode]);
402
-			$this->root->emit('\OC\Files', 'postWrite', [$targetNode]);
403
-			return $targetNode;
404
-		} else {
405
-			throw new NotPermittedException('No permission to copy to path ' . $targetPath);
406
-		}
407
-	}
408
-
409
-	/**
410
-	 * @param string $targetPath
411
-	 * @throws \OCP\Files\NotPermittedException if move not allowed or failed
412
-	 * @return \OC\Files\Node\Node
413
-	 */
414
-	public function move($targetPath) {
415
-		$targetPath = $this->normalizePath($targetPath);
416
-		$parent = $this->root->get(dirname($targetPath));
417
-		if ($parent instanceof Folder and $this->isValidPath($targetPath) and $parent->isCreatable()) {
418
-			$nonExisting = $this->createNonExistingNode($targetPath);
419
-			$this->root->emit('\OC\Files', 'preRename', [$this, $nonExisting]);
420
-			$this->root->emit('\OC\Files', 'preWrite', [$nonExisting]);
421
-			if (!$this->view->rename($this->path, $targetPath)) {
422
-				throw new NotPermittedException('Could not move ' . $this->path . ' to ' . $targetPath);
423
-			}
424
-			$targetNode = $this->root->get($targetPath);
425
-			$this->root->emit('\OC\Files', 'postRename', [$this, $targetNode]);
426
-			$this->root->emit('\OC\Files', 'postWrite', [$targetNode]);
427
-			$this->path = $targetPath;
428
-			return $targetNode;
429
-		} else {
430
-			throw new NotPermittedException('No permission to move to path ' . $targetPath);
431
-		}
432
-	}
38
+    /**
39
+     * @var \OC\Files\View $view
40
+     */
41
+    protected $view;
42
+
43
+    /**
44
+     * @var \OC\Files\Node\Root $root
45
+     */
46
+    protected $root;
47
+
48
+    /**
49
+     * @var string $path
50
+     */
51
+    protected $path;
52
+
53
+    /**
54
+     * @var \OCP\Files\FileInfo
55
+     */
56
+    protected $fileInfo;
57
+
58
+    /**
59
+     * @param \OC\Files\View $view
60
+     * @param \OCP\Files\IRootFolder $root
61
+     * @param string $path
62
+     * @param FileInfo $fileInfo
63
+     */
64
+    public function __construct($root, $view, $path, $fileInfo = null) {
65
+        $this->view = $view;
66
+        $this->root = $root;
67
+        $this->path = $path;
68
+        $this->fileInfo = $fileInfo;
69
+    }
70
+
71
+    /**
72
+     * Creates a Node of the same type that represents a non-existing path
73
+     *
74
+     * @param string $path path
75
+     * @return string non-existing node class
76
+     */
77
+    protected function createNonExistingNode($path) {
78
+        throw new \Exception('Must be implemented by subclasses');
79
+    }
80
+
81
+    /**
82
+     * Returns the matching file info
83
+     *
84
+     * @return FileInfo
85
+     * @throws InvalidPathException
86
+     * @throws NotFoundException
87
+     */
88
+    public function getFileInfo() {
89
+        if (!Filesystem::isValidPath($this->path)) {
90
+            throw new InvalidPathException();
91
+        }
92
+        if (!$this->fileInfo) {
93
+            $fileInfo = $this->view->getFileInfo($this->path);
94
+            if ($fileInfo instanceof FileInfo) {
95
+                $this->fileInfo = $fileInfo;
96
+            } else {
97
+                throw new NotFoundException();
98
+            }
99
+        }
100
+        return $this->fileInfo;
101
+    }
102
+
103
+    /**
104
+     * @param string[] $hooks
105
+     */
106
+    protected function sendHooks($hooks) {
107
+        foreach ($hooks as $hook) {
108
+            $this->root->emit('\OC\Files', $hook, array($this));
109
+        }
110
+    }
111
+
112
+    /**
113
+     * @param int $permissions
114
+     * @return bool
115
+     */
116
+    protected function checkPermissions($permissions) {
117
+        return ($this->getPermissions() & $permissions) === $permissions;
118
+    }
119
+
120
+    public function delete() {
121
+    }
122
+
123
+    /**
124
+     * @param int $mtime
125
+     * @throws \OCP\Files\NotPermittedException
126
+     */
127
+    public function touch($mtime = null) {
128
+        if ($this->checkPermissions(\OCP\Constants::PERMISSION_UPDATE)) {
129
+            $this->sendHooks(array('preTouch'));
130
+            $this->view->touch($this->path, $mtime);
131
+            $this->sendHooks(array('postTouch'));
132
+            if ($this->fileInfo) {
133
+                if (is_null($mtime)) {
134
+                    $mtime = time();
135
+                }
136
+                $this->fileInfo['mtime'] = $mtime;
137
+            }
138
+        } else {
139
+            throw new NotPermittedException();
140
+        }
141
+    }
142
+
143
+    /**
144
+     * @return \OC\Files\Storage\Storage
145
+     * @throws \OCP\Files\NotFoundException
146
+     */
147
+    public function getStorage() {
148
+        list($storage,) = $this->view->resolvePath($this->path);
149
+        return $storage;
150
+    }
151
+
152
+    /**
153
+     * @return string
154
+     */
155
+    public function getPath() {
156
+        return $this->path;
157
+    }
158
+
159
+    /**
160
+     * @return string
161
+     */
162
+    public function getInternalPath() {
163
+        list(, $internalPath) = $this->view->resolvePath($this->path);
164
+        return $internalPath;
165
+    }
166
+
167
+    /**
168
+     * @return int
169
+     * @throws InvalidPathException
170
+     * @throws NotFoundException
171
+     */
172
+    public function getId() {
173
+        return $this->getFileInfo()->getId();
174
+    }
175
+
176
+    /**
177
+     * @return array
178
+     */
179
+    public function stat() {
180
+        return $this->view->stat($this->path);
181
+    }
182
+
183
+    /**
184
+     * @return int
185
+     * @throws InvalidPathException
186
+     * @throws NotFoundException
187
+     */
188
+    public function getMTime() {
189
+        return $this->getFileInfo()->getMTime();
190
+    }
191
+
192
+    /**
193
+     * @return int
194
+     * @throws InvalidPathException
195
+     * @throws NotFoundException
196
+     */
197
+    public function getSize() {
198
+        return $this->getFileInfo()->getSize();
199
+    }
200
+
201
+    /**
202
+     * @return string
203
+     * @throws InvalidPathException
204
+     * @throws NotFoundException
205
+     */
206
+    public function getEtag() {
207
+        return $this->getFileInfo()->getEtag();
208
+    }
209
+
210
+    /**
211
+     * @return int
212
+     * @throws InvalidPathException
213
+     * @throws NotFoundException
214
+     */
215
+    public function getPermissions() {
216
+        return $this->getFileInfo()->getPermissions();
217
+    }
218
+
219
+    /**
220
+     * @return bool
221
+     * @throws InvalidPathException
222
+     * @throws NotFoundException
223
+     */
224
+    public function isReadable() {
225
+        return $this->getFileInfo()->isReadable();
226
+    }
227
+
228
+    /**
229
+     * @return bool
230
+     * @throws InvalidPathException
231
+     * @throws NotFoundException
232
+     */
233
+    public function isUpdateable() {
234
+        return $this->getFileInfo()->isUpdateable();
235
+    }
236
+
237
+    /**
238
+     * @return bool
239
+     * @throws InvalidPathException
240
+     * @throws NotFoundException
241
+     */
242
+    public function isDeletable() {
243
+        return $this->getFileInfo()->isDeletable();
244
+    }
245
+
246
+    /**
247
+     * @return bool
248
+     * @throws InvalidPathException
249
+     * @throws NotFoundException
250
+     */
251
+    public function isShareable() {
252
+        return $this->getFileInfo()->isShareable();
253
+    }
254
+
255
+    /**
256
+     * @return bool
257
+     * @throws InvalidPathException
258
+     * @throws NotFoundException
259
+     */
260
+    public function isCreatable() {
261
+        return $this->getFileInfo()->isCreatable();
262
+    }
263
+
264
+    /**
265
+     * @return Node
266
+     */
267
+    public function getParent() {
268
+        $newPath = dirname($this->path);
269
+        if ($newPath === '' || $newPath === '.' || $newPath === '/') {
270
+            return $this->root;
271
+        }
272
+        return $this->root->get($newPath);
273
+    }
274
+
275
+    /**
276
+     * @return string
277
+     */
278
+    public function getName() {
279
+        return basename($this->path);
280
+    }
281
+
282
+    /**
283
+     * @param string $path
284
+     * @return string
285
+     */
286
+    protected function normalizePath($path) {
287
+        if ($path === '' or $path === '/') {
288
+            return '/';
289
+        }
290
+        //no windows style slashes
291
+        $path = str_replace('\\', '/', $path);
292
+        //add leading slash
293
+        if ($path[0] !== '/') {
294
+            $path = '/' . $path;
295
+        }
296
+        //remove duplicate slashes
297
+        while (strpos($path, '//') !== false) {
298
+            $path = str_replace('//', '/', $path);
299
+        }
300
+        //remove trailing slash
301
+        $path = rtrim($path, '/');
302
+
303
+        return $path;
304
+    }
305
+
306
+    /**
307
+     * check if the requested path is valid
308
+     *
309
+     * @param string $path
310
+     * @return bool
311
+     */
312
+    public function isValidPath($path) {
313
+        if (!$path || $path[0] !== '/') {
314
+            $path = '/' . $path;
315
+        }
316
+        if (strstr($path, '/../') || strrchr($path, '/') === '/..') {
317
+            return false;
318
+        }
319
+        return true;
320
+    }
321
+
322
+    public function isMounted() {
323
+        return $this->getFileInfo()->isMounted();
324
+    }
325
+
326
+    public function isShared() {
327
+        return $this->getFileInfo()->isShared();
328
+    }
329
+
330
+    public function getMimeType() {
331
+        return $this->getFileInfo()->getMimetype();
332
+    }
333
+
334
+    public function getMimePart() {
335
+        return $this->getFileInfo()->getMimePart();
336
+    }
337
+
338
+    public function getType() {
339
+        return $this->getFileInfo()->getType();
340
+    }
341
+
342
+    public function isEncrypted() {
343
+        return $this->getFileInfo()->isEncrypted();
344
+    }
345
+
346
+    public function getMountPoint() {
347
+        return $this->getFileInfo()->getMountPoint();
348
+    }
349
+
350
+    public function getOwner() {
351
+        return $this->getFileInfo()->getOwner();
352
+    }
353
+
354
+    public function getChecksum() {
355
+    }
356
+
357
+    public function getExtension(): string {
358
+        return $this->getFileInfo()->getExtension();
359
+    }
360
+
361
+    /**
362
+     * @param int $type \OCP\Lock\ILockingProvider::LOCK_SHARED or \OCP\Lock\ILockingProvider::LOCK_EXCLUSIVE
363
+     * @throws \OCP\Lock\LockedException
364
+     */
365
+    public function lock($type) {
366
+        $this->view->lockFile($this->path, $type);
367
+    }
368
+
369
+    /**
370
+     * @param int $type \OCP\Lock\ILockingProvider::LOCK_SHARED or \OCP\Lock\ILockingProvider::LOCK_EXCLUSIVE
371
+     * @throws \OCP\Lock\LockedException
372
+     */
373
+    public function changeLock($type) {
374
+        $this->view->changeLock($this->path, $type);
375
+    }
376
+
377
+    /**
378
+     * @param int $type \OCP\Lock\ILockingProvider::LOCK_SHARED or \OCP\Lock\ILockingProvider::LOCK_EXCLUSIVE
379
+     * @throws \OCP\Lock\LockedException
380
+     */
381
+    public function unlock($type) {
382
+        $this->view->unlockFile($this->path, $type);
383
+    }
384
+
385
+    /**
386
+     * @param string $targetPath
387
+     * @throws \OCP\Files\NotPermittedException if copy not allowed or failed
388
+     * @return \OC\Files\Node\Node
389
+     */
390
+    public function copy($targetPath) {
391
+        $targetPath = $this->normalizePath($targetPath);
392
+        $parent = $this->root->get(dirname($targetPath));
393
+        if ($parent instanceof Folder and $this->isValidPath($targetPath) and $parent->isCreatable()) {
394
+            $nonExisting = $this->createNonExistingNode($targetPath);
395
+            $this->root->emit('\OC\Files', 'preCopy', [$this, $nonExisting]);
396
+            $this->root->emit('\OC\Files', 'preWrite', [$nonExisting]);
397
+            if (!$this->view->copy($this->path, $targetPath)) {
398
+                throw new NotPermittedException('Could not copy ' . $this->path . ' to ' . $targetPath);
399
+            }
400
+            $targetNode = $this->root->get($targetPath);
401
+            $this->root->emit('\OC\Files', 'postCopy', [$this, $targetNode]);
402
+            $this->root->emit('\OC\Files', 'postWrite', [$targetNode]);
403
+            return $targetNode;
404
+        } else {
405
+            throw new NotPermittedException('No permission to copy to path ' . $targetPath);
406
+        }
407
+    }
408
+
409
+    /**
410
+     * @param string $targetPath
411
+     * @throws \OCP\Files\NotPermittedException if move not allowed or failed
412
+     * @return \OC\Files\Node\Node
413
+     */
414
+    public function move($targetPath) {
415
+        $targetPath = $this->normalizePath($targetPath);
416
+        $parent = $this->root->get(dirname($targetPath));
417
+        if ($parent instanceof Folder and $this->isValidPath($targetPath) and $parent->isCreatable()) {
418
+            $nonExisting = $this->createNonExistingNode($targetPath);
419
+            $this->root->emit('\OC\Files', 'preRename', [$this, $nonExisting]);
420
+            $this->root->emit('\OC\Files', 'preWrite', [$nonExisting]);
421
+            if (!$this->view->rename($this->path, $targetPath)) {
422
+                throw new NotPermittedException('Could not move ' . $this->path . ' to ' . $targetPath);
423
+            }
424
+            $targetNode = $this->root->get($targetPath);
425
+            $this->root->emit('\OC\Files', 'postRename', [$this, $targetNode]);
426
+            $this->root->emit('\OC\Files', 'postWrite', [$targetNode]);
427
+            $this->path = $targetPath;
428
+            return $targetNode;
429
+        } else {
430
+            throw new NotPermittedException('No permission to move to path ' . $targetPath);
431
+        }
432
+    }
433 433
 
434 434
 }
Please login to merge, or discard this patch.
lib/private/Files/Node/NonExistingFile.php 1 patch
Indentation   +115 added lines, -115 removed lines patch added patch discarded remove patch
@@ -26,119 +26,119 @@
 block discarded – undo
26 26
 use OCP\Files\NotFoundException;
27 27
 
28 28
 class NonExistingFile extends File {
29
-	/**
30
-	 * @param string $newPath
31
-	 * @throws \OCP\Files\NotFoundException
32
-	 */
33
-	public function rename($newPath) {
34
-		throw new NotFoundException();
35
-	}
36
-
37
-	public function delete() {
38
-		throw new NotFoundException();
39
-	}
40
-
41
-	public function copy($newPath) {
42
-		throw new NotFoundException();
43
-	}
44
-
45
-	public function touch($mtime = null) {
46
-		throw new NotFoundException();
47
-	}
48
-
49
-	public function getId() {
50
-		if ($this->fileInfo) {
51
-			return parent::getId();
52
-		} else {
53
-			throw new NotFoundException();
54
-		}
55
-	}
56
-
57
-	public function stat() {
58
-		throw new NotFoundException();
59
-	}
60
-
61
-	public function getMTime() {
62
-		if ($this->fileInfo) {
63
-			return parent::getMTime();
64
-		} else {
65
-			throw new NotFoundException();
66
-		}
67
-	}
68
-
69
-	public function getSize() {
70
-		if ($this->fileInfo) {
71
-			return parent::getSize();
72
-		} else {
73
-			throw new NotFoundException();
74
-		}
75
-	}
76
-
77
-	public function getEtag() {
78
-		if ($this->fileInfo) {
79
-			return parent::getEtag();
80
-		} else {
81
-			throw new NotFoundException();
82
-		}
83
-	}
84
-
85
-	public function getPermissions() {
86
-		if ($this->fileInfo) {
87
-			return parent::getPermissions();
88
-		} else {
89
-			throw new NotFoundException();
90
-		}
91
-	}
92
-
93
-	public function isReadable() {
94
-		if ($this->fileInfo) {
95
-			return parent::isReadable();
96
-		} else {
97
-			throw new NotFoundException();
98
-		}
99
-	}
100
-
101
-	public function isUpdateable() {
102
-		if ($this->fileInfo) {
103
-			return parent::isUpdateable();
104
-		} else {
105
-			throw new NotFoundException();
106
-		}
107
-	}
108
-
109
-	public function isDeletable() {
110
-		if ($this->fileInfo) {
111
-			return parent::isDeletable();
112
-		} else {
113
-			throw new NotFoundException();
114
-		}
115
-	}
116
-
117
-	public function isShareable() {
118
-		if ($this->fileInfo) {
119
-			return parent::isShareable();
120
-		} else {
121
-			throw new NotFoundException();
122
-		}
123
-	}
124
-
125
-	public function getContent() {
126
-		throw new NotFoundException();
127
-	}
128
-
129
-	public function putContent($data) {
130
-		throw new NotFoundException();
131
-	}
132
-
133
-	public function getMimeType() {
134
-		if ($this->fileInfo) {
135
-			return parent::getMimeType();
136
-		} else {
137
-			throw new NotFoundException();
138
-		}
139
-	}
140
-
141
-	public function fopen($mode) {
142
-		throw new NotFoundException();
143
-	}
29
+    /**
30
+     * @param string $newPath
31
+     * @throws \OCP\Files\NotFoundException
32
+     */
33
+    public function rename($newPath) {
34
+        throw new NotFoundException();
35
+    }
36
+
37
+    public function delete() {
38
+        throw new NotFoundException();
39
+    }
40
+
41
+    public function copy($newPath) {
42
+        throw new NotFoundException();
43
+    }
44
+
45
+    public function touch($mtime = null) {
46
+        throw new NotFoundException();
47
+    }
48
+
49
+    public function getId() {
50
+        if ($this->fileInfo) {
51
+            return parent::getId();
52
+        } else {
53
+            throw new NotFoundException();
54
+        }
55
+    }
56
+
57
+    public function stat() {
58
+        throw new NotFoundException();
59
+    }
60
+
61
+    public function getMTime() {
62
+        if ($this->fileInfo) {
63
+            return parent::getMTime();
64
+        } else {
65
+            throw new NotFoundException();
66
+        }
67
+    }
68
+
69
+    public function getSize() {
70
+        if ($this->fileInfo) {
71
+            return parent::getSize();
72
+        } else {
73
+            throw new NotFoundException();
74
+        }
75
+    }
76
+
77
+    public function getEtag() {
78
+        if ($this->fileInfo) {
79
+            return parent::getEtag();
80
+        } else {
81
+            throw new NotFoundException();
82
+        }
83
+    }
84
+
85
+    public function getPermissions() {
86
+        if ($this->fileInfo) {
87
+            return parent::getPermissions();
88
+        } else {
89
+            throw new NotFoundException();
90
+        }
91
+    }
92
+
93
+    public function isReadable() {
94
+        if ($this->fileInfo) {
95
+            return parent::isReadable();
96
+        } else {
97
+            throw new NotFoundException();
98
+        }
99
+    }
100
+
101
+    public function isUpdateable() {
102
+        if ($this->fileInfo) {
103
+            return parent::isUpdateable();
104
+        } else {
105
+            throw new NotFoundException();
106
+        }
107
+    }
108
+
109
+    public function isDeletable() {
110
+        if ($this->fileInfo) {
111
+            return parent::isDeletable();
112
+        } else {
113
+            throw new NotFoundException();
114
+        }
115
+    }
116
+
117
+    public function isShareable() {
118
+        if ($this->fileInfo) {
119
+            return parent::isShareable();
120
+        } else {
121
+            throw new NotFoundException();
122
+        }
123
+    }
124
+
125
+    public function getContent() {
126
+        throw new NotFoundException();
127
+    }
128
+
129
+    public function putContent($data) {
130
+        throw new NotFoundException();
131
+    }
132
+
133
+    public function getMimeType() {
134
+        if ($this->fileInfo) {
135
+            return parent::getMimeType();
136
+        } else {
137
+            throw new NotFoundException();
138
+        }
139
+    }
140
+
141
+    public function fopen($mode) {
142
+        throw new NotFoundException();
143
+    }
144 144
 }
Please login to merge, or discard this patch.
lib/private/Files/Mount/ObjectHomeMountProvider.php 2 patches
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -64,7 +64,7 @@
 block discarded – undo
64 64
 			return null;
65 65
 		}
66 66
 
67
-		return new MountPoint('\OC\Files\ObjectStore\HomeObjectStoreStorage', '/' . $user->getUID(), $config['arguments'], $loader);
67
+		return new MountPoint('\OC\Files\ObjectStore\HomeObjectStoreStorage', '/'.$user->getUID(), $config['arguments'], $loader);
68 68
 	}
69 69
 
70 70
 	/**
Please login to merge, or discard this patch.
Indentation   +100 added lines, -100 removed lines patch added patch discarded remove patch
@@ -33,107 +33,107 @@
 block discarded – undo
33 33
  * Mount provider for object store home storages
34 34
  */
35 35
 class ObjectHomeMountProvider implements IHomeMountProvider {
36
-	/**
37
-	 * @var IConfig
38
-	 */
39
-	private $config;
40
-
41
-	/**
42
-	 * ObjectStoreHomeMountProvider constructor.
43
-	 *
44
-	 * @param IConfig $config
45
-	 */
46
-	public function __construct(IConfig $config) {
47
-		$this->config = $config;
48
-	}
49
-
50
-	/**
51
-	 * Get the cache mount for a user
52
-	 *
53
-	 * @param IUser $user
54
-	 * @param IStorageFactory $loader
55
-	 * @return \OCP\Files\Mount\IMountPoint
56
-	 */
57
-	public function getHomeMountForUser(IUser $user, IStorageFactory $loader) {
58
-
59
-		$config = $this->getMultiBucketObjectStoreConfig($user);
60
-		if ($config === null) {
61
-			$config = $this->getSingleBucketObjectStoreConfig($user);
62
-		}
63
-
64
-		if ($config === null) {
65
-			return null;
66
-		}
67
-
68
-		return new MountPoint('\OC\Files\ObjectStore\HomeObjectStoreStorage', '/' . $user->getUID(), $config['arguments'], $loader);
69
-	}
70
-
71
-	/**
72
-	 * @param IUser $user
73
-	 * @return array|null
74
-	 */
75
-	private function getSingleBucketObjectStoreConfig(IUser $user) {
76
-		$config = $this->config->getSystemValue('objectstore');
77
-		if (!is_array($config)) {
78
-			return null;
79
-		}
80
-
81
-		// sanity checks
82
-		if (empty($config['class'])) {
83
-			\OCP\Util::writeLog('files', 'No class given for objectstore', ILogger::ERROR);
84
-		}
85
-		if (!isset($config['arguments'])) {
86
-			$config['arguments'] = [];
87
-		}
88
-		// instantiate object store implementation
89
-		$config['arguments']['objectstore'] = new $config['class']($config['arguments']);
90
-
91
-		$config['arguments']['user'] = $user;
92
-
93
-		return $config;
94
-	}
95
-
96
-	/**
97
-	 * @param IUser $user
98
-	 * @return array|null
99
-	 */
100
-	private function getMultiBucketObjectStoreConfig(IUser $user) {
101
-		$config = $this->config->getSystemValue('objectstore_multibucket');
102
-		if (!is_array($config)) {
103
-			return null;
104
-		}
105
-
106
-		// sanity checks
107
-		if (empty($config['class'])) {
108
-			\OCP\Util::writeLog('files', 'No class given for objectstore', ILogger::ERROR);
109
-		}
110
-		if (!isset($config['arguments'])) {
111
-			$config['arguments'] = [];
112
-		}
113
-		$config['arguments']['user'] = $user;
114
-
115
-		$bucket = $this->config->getUserValue($user->getUID(), 'homeobjectstore', 'bucket', null);
116
-
117
-		if ($bucket === null) {
118
-			/*
36
+    /**
37
+     * @var IConfig
38
+     */
39
+    private $config;
40
+
41
+    /**
42
+     * ObjectStoreHomeMountProvider constructor.
43
+     *
44
+     * @param IConfig $config
45
+     */
46
+    public function __construct(IConfig $config) {
47
+        $this->config = $config;
48
+    }
49
+
50
+    /**
51
+     * Get the cache mount for a user
52
+     *
53
+     * @param IUser $user
54
+     * @param IStorageFactory $loader
55
+     * @return \OCP\Files\Mount\IMountPoint
56
+     */
57
+    public function getHomeMountForUser(IUser $user, IStorageFactory $loader) {
58
+
59
+        $config = $this->getMultiBucketObjectStoreConfig($user);
60
+        if ($config === null) {
61
+            $config = $this->getSingleBucketObjectStoreConfig($user);
62
+        }
63
+
64
+        if ($config === null) {
65
+            return null;
66
+        }
67
+
68
+        return new MountPoint('\OC\Files\ObjectStore\HomeObjectStoreStorage', '/' . $user->getUID(), $config['arguments'], $loader);
69
+    }
70
+
71
+    /**
72
+     * @param IUser $user
73
+     * @return array|null
74
+     */
75
+    private function getSingleBucketObjectStoreConfig(IUser $user) {
76
+        $config = $this->config->getSystemValue('objectstore');
77
+        if (!is_array($config)) {
78
+            return null;
79
+        }
80
+
81
+        // sanity checks
82
+        if (empty($config['class'])) {
83
+            \OCP\Util::writeLog('files', 'No class given for objectstore', ILogger::ERROR);
84
+        }
85
+        if (!isset($config['arguments'])) {
86
+            $config['arguments'] = [];
87
+        }
88
+        // instantiate object store implementation
89
+        $config['arguments']['objectstore'] = new $config['class']($config['arguments']);
90
+
91
+        $config['arguments']['user'] = $user;
92
+
93
+        return $config;
94
+    }
95
+
96
+    /**
97
+     * @param IUser $user
98
+     * @return array|null
99
+     */
100
+    private function getMultiBucketObjectStoreConfig(IUser $user) {
101
+        $config = $this->config->getSystemValue('objectstore_multibucket');
102
+        if (!is_array($config)) {
103
+            return null;
104
+        }
105
+
106
+        // sanity checks
107
+        if (empty($config['class'])) {
108
+            \OCP\Util::writeLog('files', 'No class given for objectstore', ILogger::ERROR);
109
+        }
110
+        if (!isset($config['arguments'])) {
111
+            $config['arguments'] = [];
112
+        }
113
+        $config['arguments']['user'] = $user;
114
+
115
+        $bucket = $this->config->getUserValue($user->getUID(), 'homeobjectstore', 'bucket', null);
116
+
117
+        if ($bucket === null) {
118
+            /*
119 119
 			 * Use any provided bucket argument as prefix
120 120
 			 * and add the mapping from username => bucket
121 121
 			 */
122
-			if (!isset($config['arguments']['bucket'])) {
123
-				$config['arguments']['bucket'] = '';
124
-			}
125
-			$mapper = new \OC\Files\ObjectStore\Mapper($user);
126
-			$numBuckets = isset($config['arguments']['num_buckets']) ? $config['arguments']['num_buckets'] : 64;
127
-			$config['arguments']['bucket'] .= $mapper->getBucket($numBuckets);
128
-
129
-			$this->config->setUserValue($user->getUID(), 'homeobjectstore', 'bucket', $config['arguments']['bucket']);
130
-		} else {
131
-			$config['arguments']['bucket'] = $bucket;
132
-		}
133
-
134
-		// instantiate object store implementation
135
-		$config['arguments']['objectstore'] = new $config['class']($config['arguments']);
136
-
137
-		return $config;
138
-	}
122
+            if (!isset($config['arguments']['bucket'])) {
123
+                $config['arguments']['bucket'] = '';
124
+            }
125
+            $mapper = new \OC\Files\ObjectStore\Mapper($user);
126
+            $numBuckets = isset($config['arguments']['num_buckets']) ? $config['arguments']['num_buckets'] : 64;
127
+            $config['arguments']['bucket'] .= $mapper->getBucket($numBuckets);
128
+
129
+            $this->config->setUserValue($user->getUID(), 'homeobjectstore', 'bucket', $config['arguments']['bucket']);
130
+        } else {
131
+            $config['arguments']['bucket'] = $bucket;
132
+        }
133
+
134
+        // instantiate object store implementation
135
+        $config['arguments']['objectstore'] = new $config['class']($config['arguments']);
136
+
137
+        return $config;
138
+    }
139 139
 }
Please login to merge, or discard this patch.
lib/private/Files/Mount/LocalHomeMountProvider.php 2 patches
Indentation   +11 added lines, -11 removed lines patch added patch discarded remove patch
@@ -30,15 +30,15 @@
 block discarded – undo
30 30
  * Mount provider for regular posix home folders
31 31
  */
32 32
 class LocalHomeMountProvider implements IHomeMountProvider {
33
-	/**
34
-	 * Get the cache mount for a user
35
-	 *
36
-	 * @param IUser $user
37
-	 * @param IStorageFactory $loader
38
-	 * @return \OCP\Files\Mount\IMountPoint[]
39
-	 */
40
-	public function getHomeMountForUser(IUser $user, IStorageFactory $loader) {
41
-		$arguments = ['user' => $user];
42
-		return new MountPoint('\OC\Files\Storage\Home', '/' . $user->getUID(), $arguments, $loader);
43
-	}
33
+    /**
34
+     * Get the cache mount for a user
35
+     *
36
+     * @param IUser $user
37
+     * @param IStorageFactory $loader
38
+     * @return \OCP\Files\Mount\IMountPoint[]
39
+     */
40
+    public function getHomeMountForUser(IUser $user, IStorageFactory $loader) {
41
+        $arguments = ['user' => $user];
42
+        return new MountPoint('\OC\Files\Storage\Home', '/' . $user->getUID(), $arguments, $loader);
43
+    }
44 44
 }
Please login to merge, or discard this patch.
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -39,6 +39,6 @@
 block discarded – undo
39 39
 	 */
40 40
 	public function getHomeMountForUser(IUser $user, IStorageFactory $loader) {
41 41
 		$arguments = ['user' => $user];
42
-		return new MountPoint('\OC\Files\Storage\Home', '/' . $user->getUID(), $arguments, $loader);
42
+		return new MountPoint('\OC\Files\Storage\Home', '/'.$user->getUID(), $arguments, $loader);
43 43
 	}
44 44
 }
Please login to merge, or discard this patch.
lib/private/Files/Mount/MoveableMount.php 1 patch
Indentation   +14 added lines, -14 removed lines patch added patch discarded remove patch
@@ -27,19 +27,19 @@
 block discarded – undo
27 27
  * Defines the mount point to be (re)moved by the user
28 28
  */
29 29
 interface MoveableMount {
30
-	/**
31
-	 * Move the mount point to $target
32
-	 *
33
-	 * @param string $target the target mount point
34
-	 * @return bool
35
-	 */
36
-	public function moveMount($target);
30
+    /**
31
+     * Move the mount point to $target
32
+     *
33
+     * @param string $target the target mount point
34
+     * @return bool
35
+     */
36
+    public function moveMount($target);
37 37
 
38
-	/**
39
-	 * Remove the mount points
40
-	 *
41
-	 * @return mixed
42
-	 * @return bool
43
-	 */
44
-	public function removeMount();
38
+    /**
39
+     * Remove the mount points
40
+     *
41
+     * @return mixed
42
+     * @return bool
43
+     */
44
+    public function removeMount();
45 45
 }
Please login to merge, or discard this patch.
lib/private/Files/Stream/Quota.php 3 patches
Indentation   +60 added lines, -60 removed lines patch added patch discarded remove patch
@@ -33,71 +33,71 @@
 block discarded – undo
33 33
  * usage: resource \OC\Files\Stream\Quota::wrap($stream, $limit)
34 34
  */
35 35
 class Quota extends Wrapper {
36
-	/**
37
-	 * @var int $limit
38
-	 */
39
-	private $limit;
36
+    /**
37
+     * @var int $limit
38
+     */
39
+    private $limit;
40 40
 
41
-	/**
42
-	 * @param resource $stream
43
-	 * @param int $limit
44
-	 * @return resource
45
-	 */
46
-	static public function wrap($stream, $limit) {
47
-		$context = stream_context_create(array(
48
-			'quota' => array(
49
-				'source' => $stream,
50
-				'limit' => $limit
51
-			)
52
-		));
53
-		return Wrapper::wrapSource($stream, $context, 'quota', self::class);
54
-	}
41
+    /**
42
+     * @param resource $stream
43
+     * @param int $limit
44
+     * @return resource
45
+     */
46
+    static public function wrap($stream, $limit) {
47
+        $context = stream_context_create(array(
48
+            'quota' => array(
49
+                'source' => $stream,
50
+                'limit' => $limit
51
+            )
52
+        ));
53
+        return Wrapper::wrapSource($stream, $context, 'quota', self::class);
54
+    }
55 55
 
56
-	public function stream_open($path, $mode, $options, &$opened_path) {
57
-		$context = $this->loadContext('quota');
58
-		$this->source = $context['source'];
59
-		$this->limit = $context['limit'];
56
+    public function stream_open($path, $mode, $options, &$opened_path) {
57
+        $context = $this->loadContext('quota');
58
+        $this->source = $context['source'];
59
+        $this->limit = $context['limit'];
60 60
 
61
-		return true;
62
-	}
61
+        return true;
62
+    }
63 63
 
64
-	public function dir_opendir($path, $options) {
65
-		return false;
66
-	}
64
+    public function dir_opendir($path, $options) {
65
+        return false;
66
+    }
67 67
 
68
-	public function stream_seek($offset, $whence = SEEK_SET) {
69
-		if ($whence === SEEK_END){
70
-			// go to the end to find out last position's offset
71
-			$oldOffset = $this->stream_tell();
72
-			if (fseek($this->source, 0, $whence) !== 0){
73
-				return false;
74
-			}
75
-			$whence = SEEK_SET;
76
-			$offset = $this->stream_tell() + $offset;
77
-			$this->limit += $oldOffset - $offset;
78
-		}
79
-		else if ($whence === SEEK_SET) {
80
-			$this->limit += $this->stream_tell() - $offset;
81
-		} else {
82
-			$this->limit -= $offset;
83
-		}
84
-		// this wrapper needs to return "true" for success.
85
-		// the fseek call itself returns 0 on succeess
86
-		return fseek($this->source, $offset, $whence) === 0;
87
-	}
68
+    public function stream_seek($offset, $whence = SEEK_SET) {
69
+        if ($whence === SEEK_END){
70
+            // go to the end to find out last position's offset
71
+            $oldOffset = $this->stream_tell();
72
+            if (fseek($this->source, 0, $whence) !== 0){
73
+                return false;
74
+            }
75
+            $whence = SEEK_SET;
76
+            $offset = $this->stream_tell() + $offset;
77
+            $this->limit += $oldOffset - $offset;
78
+        }
79
+        else if ($whence === SEEK_SET) {
80
+            $this->limit += $this->stream_tell() - $offset;
81
+        } else {
82
+            $this->limit -= $offset;
83
+        }
84
+        // this wrapper needs to return "true" for success.
85
+        // the fseek call itself returns 0 on succeess
86
+        return fseek($this->source, $offset, $whence) === 0;
87
+    }
88 88
 
89
-	public function stream_read($count) {
90
-		$this->limit -= $count;
91
-		return fread($this->source, $count);
92
-	}
89
+    public function stream_read($count) {
90
+        $this->limit -= $count;
91
+        return fread($this->source, $count);
92
+    }
93 93
 
94
-	public function stream_write($data) {
95
-		$size = strlen($data);
96
-		if ($size > $this->limit) {
97
-			$data = substr($data, 0, $this->limit);
98
-			$size = $this->limit;
99
-		}
100
-		$this->limit -= $size;
101
-		return fwrite($this->source, $data);
102
-	}
94
+    public function stream_write($data) {
95
+        $size = strlen($data);
96
+        if ($size > $this->limit) {
97
+            $data = substr($data, 0, $this->limit);
98
+            $size = $this->limit;
99
+        }
100
+        $this->limit -= $size;
101
+        return fwrite($this->source, $data);
102
+    }
103 103
 }
Please login to merge, or discard this patch.
Spacing   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -66,10 +66,10 @@
 block discarded – undo
66 66
 	}
67 67
 
68 68
 	public function stream_seek($offset, $whence = SEEK_SET) {
69
-		if ($whence === SEEK_END){
69
+		if ($whence === SEEK_END) {
70 70
 			// go to the end to find out last position's offset
71 71
 			$oldOffset = $this->stream_tell();
72
-			if (fseek($this->source, 0, $whence) !== 0){
72
+			if (fseek($this->source, 0, $whence) !== 0) {
73 73
 				return false;
74 74
 			}
75 75
 			$whence = SEEK_SET;
Please login to merge, or discard this patch.
Braces   +1 added lines, -2 removed lines patch added patch discarded remove patch
@@ -75,8 +75,7 @@
 block discarded – undo
75 75
 			$whence = SEEK_SET;
76 76
 			$offset = $this->stream_tell() + $offset;
77 77
 			$this->limit += $oldOffset - $offset;
78
-		}
79
-		else if ($whence === SEEK_SET) {
78
+		} else if ($whence === SEEK_SET) {
80 79
 			$this->limit += $this->stream_tell() - $offset;
81 80
 		} else {
82 81
 			$this->limit -= $offset;
Please login to merge, or discard this patch.
lib/private/Files/Config/LazyStorageMountInfo.php 1 patch
Indentation   +50 added lines, -50 removed lines patch added patch discarded remove patch
@@ -29,60 +29,60 @@
 block discarded – undo
29 29
 use OCP\IUser;
30 30
 
31 31
 class LazyStorageMountInfo extends CachedMountInfo {
32
-	/** @var IMountPoint */
33
-	private $mount;
32
+    /** @var IMountPoint */
33
+    private $mount;
34 34
 
35
-	/**
36
-	 * CachedMountInfo constructor.
37
-	 *
38
-	 * @param IUser $user
39
-	 * @param IMountPoint $mount
40
-	 */
41
-	public function __construct(IUser $user, IMountPoint $mount) {
42
-		$this->user = $user;
43
-		$this->mount = $mount;
44
-	}
35
+    /**
36
+     * CachedMountInfo constructor.
37
+     *
38
+     * @param IUser $user
39
+     * @param IMountPoint $mount
40
+     */
41
+    public function __construct(IUser $user, IMountPoint $mount) {
42
+        $this->user = $user;
43
+        $this->mount = $mount;
44
+    }
45 45
 
46
-	/**
47
-	 * @return int the numeric storage id of the mount
48
-	 */
49
-	public function getStorageId() {
50
-		if (!$this->storageId) {
51
-			$this->storageId = $this->mount->getNumericStorageId();
52
-		}
53
-		return parent::getStorageId();
54
-	}
46
+    /**
47
+     * @return int the numeric storage id of the mount
48
+     */
49
+    public function getStorageId() {
50
+        if (!$this->storageId) {
51
+            $this->storageId = $this->mount->getNumericStorageId();
52
+        }
53
+        return parent::getStorageId();
54
+    }
55 55
 
56
-	/**
57
-	 * @return int the fileid of the root of the mount
58
-	 */
59
-	public function getRootId() {
60
-		if (!$this->rootId) {
61
-			$this->rootId = $this->mount->getStorageRootId();
62
-		}
63
-		return parent::getRootId();
64
-	}
56
+    /**
57
+     * @return int the fileid of the root of the mount
58
+     */
59
+    public function getRootId() {
60
+        if (!$this->rootId) {
61
+            $this->rootId = $this->mount->getStorageRootId();
62
+        }
63
+        return parent::getRootId();
64
+    }
65 65
 
66
-	/**
67
-	 * @return string the mount point of the mount for the user
68
-	 */
69
-	public function getMountPoint() {
70
-		if (!$this->mountPoint) {
71
-			$this->mountPoint = $this->mount->getMountPoint();
72
-		}
73
-		return parent::getMountPoint();
74
-	}
66
+    /**
67
+     * @return string the mount point of the mount for the user
68
+     */
69
+    public function getMountPoint() {
70
+        if (!$this->mountPoint) {
71
+            $this->mountPoint = $this->mount->getMountPoint();
72
+        }
73
+        return parent::getMountPoint();
74
+    }
75 75
 
76
-	public function getMountId() {
77
-		return $this->mount->getMountId();
78
-	}
76
+    public function getMountId() {
77
+        return $this->mount->getMountId();
78
+    }
79 79
 
80
-	/**
81
-	 * Get the internal path (within the storage) of the root of the mount
82
-	 *
83
-	 * @return string
84
-	 */
85
-	public function getRootInternalPath() {
86
-		return $this->mount->getInternalPath($this->mount->getMountPoint());
87
-	}
80
+    /**
81
+     * Get the internal path (within the storage) of the root of the mount
82
+     *
83
+     * @return string
84
+     */
85
+    public function getRootInternalPath() {
86
+        return $this->mount->getInternalPath($this->mount->getMountPoint());
87
+    }
88 88
 }
Please login to merge, or discard this patch.
lib/private/Files/Config/UserMountCacheListener.php 1 patch
Indentation   +15 added lines, -15 removed lines patch added patch discarded remove patch
@@ -29,21 +29,21 @@
 block discarded – undo
29 29
  * Listen to hooks and update the mount cache as needed
30 30
  */
31 31
 class UserMountCacheListener {
32
-	/**
33
-	 * @var IUserMountCache
34
-	 */
35
-	private $userMountCache;
32
+    /**
33
+     * @var IUserMountCache
34
+     */
35
+    private $userMountCache;
36 36
 
37
-	/**
38
-	 * UserMountCacheListener constructor.
39
-	 *
40
-	 * @param IUserMountCache $userMountCache
41
-	 */
42
-	public function __construct(IUserMountCache $userMountCache) {
43
-		$this->userMountCache = $userMountCache;
44
-	}
37
+    /**
38
+     * UserMountCacheListener constructor.
39
+     *
40
+     * @param IUserMountCache $userMountCache
41
+     */
42
+    public function __construct(IUserMountCache $userMountCache) {
43
+        $this->userMountCache = $userMountCache;
44
+    }
45 45
 
46
-	public function listen(Manager $manager) {
47
-		$manager->listen('\OC\User', 'postDelete', [$this->userMountCache, 'removeUserMounts']);
48
-	}
46
+    public function listen(Manager $manager) {
47
+        $manager->listen('\OC\User', 'postDelete', [$this->userMountCache, 'removeUserMounts']);
48
+    }
49 49
 }
Please login to merge, or discard this patch.
lib/private/Files/Config/CachedMountInfo.php 1 patch
Indentation   +110 added lines, -110 removed lines patch added patch discarded remove patch
@@ -28,114 +28,114 @@
 block discarded – undo
28 28
 use OCP\IUser;
29 29
 
30 30
 class CachedMountInfo implements ICachedMountInfo {
31
-	/**
32
-	 * @var IUser
33
-	 */
34
-	protected $user;
35
-
36
-	/**
37
-	 * @var int
38
-	 */
39
-	protected $storageId;
40
-
41
-	/**
42
-	 * @var int
43
-	 */
44
-	protected $rootId;
45
-
46
-	/**
47
-	 * @var string
48
-	 */
49
-	protected $mountPoint;
50
-
51
-	/**
52
-	 * @var int|null
53
-	 */
54
-	protected $mountId;
55
-
56
-	/**
57
-	 * @var string
58
-	 */
59
-	protected $rootInternalPath;
60
-
61
-	/**
62
-	 * CachedMountInfo constructor.
63
-	 *
64
-	 * @param IUser $user
65
-	 * @param int $storageId
66
-	 * @param int $rootId
67
-	 * @param string $mountPoint
68
-	 * @param int|null $mountId
69
-	 * @param string $rootInternalPath
70
-	 */
71
-	public function __construct(IUser $user, $storageId, $rootId, $mountPoint, $mountId = null, $rootInternalPath = '') {
72
-		$this->user = $user;
73
-		$this->storageId = $storageId;
74
-		$this->rootId = $rootId;
75
-		$this->mountPoint = $mountPoint;
76
-		$this->mountId = $mountId;
77
-		$this->rootInternalPath = $rootInternalPath;
78
-	}
79
-
80
-	/**
81
-	 * @return IUser
82
-	 */
83
-	public function getUser() {
84
-		return $this->user;
85
-	}
86
-
87
-	/**
88
-	 * @return int the numeric storage id of the mount
89
-	 */
90
-	public function getStorageId() {
91
-		return $this->storageId;
92
-	}
93
-
94
-	/**
95
-	 * @return int the fileid of the root of the mount
96
-	 */
97
-	public function getRootId() {
98
-		return $this->rootId;
99
-	}
100
-
101
-	/**
102
-	 * @return Node the root node of the mount
103
-	 */
104
-	public function getMountPointNode() {
105
-		// TODO injection etc
106
-		Filesystem::initMountPoints($this->getUser()->getUID());
107
-		$userNode = \OC::$server->getUserFolder($this->getUser()->getUID());
108
-		$nodes = $userNode->getParent()->getById($this->getRootId());
109
-		if (count($nodes) > 0) {
110
-			return $nodes[0];
111
-		} else {
112
-			return null;
113
-		}
114
-	}
115
-
116
-	/**
117
-	 * @return string the mount point of the mount for the user
118
-	 */
119
-	public function getMountPoint() {
120
-		return $this->mountPoint;
121
-	}
122
-
123
-	/**
124
-	 * Get the id of the configured mount
125
-	 *
126
-	 * @return int|null mount id or null if not applicable
127
-	 * @since 9.1.0
128
-	 */
129
-	public function getMountId() {
130
-		return $this->mountId;
131
-	}
132
-
133
-	/**
134
-	 * Get the internal path (within the storage) of the root of the mount
135
-	 *
136
-	 * @return string
137
-	 */
138
-	public function getRootInternalPath() {
139
-		return $this->rootInternalPath;
140
-	}
31
+    /**
32
+     * @var IUser
33
+     */
34
+    protected $user;
35
+
36
+    /**
37
+     * @var int
38
+     */
39
+    protected $storageId;
40
+
41
+    /**
42
+     * @var int
43
+     */
44
+    protected $rootId;
45
+
46
+    /**
47
+     * @var string
48
+     */
49
+    protected $mountPoint;
50
+
51
+    /**
52
+     * @var int|null
53
+     */
54
+    protected $mountId;
55
+
56
+    /**
57
+     * @var string
58
+     */
59
+    protected $rootInternalPath;
60
+
61
+    /**
62
+     * CachedMountInfo constructor.
63
+     *
64
+     * @param IUser $user
65
+     * @param int $storageId
66
+     * @param int $rootId
67
+     * @param string $mountPoint
68
+     * @param int|null $mountId
69
+     * @param string $rootInternalPath
70
+     */
71
+    public function __construct(IUser $user, $storageId, $rootId, $mountPoint, $mountId = null, $rootInternalPath = '') {
72
+        $this->user = $user;
73
+        $this->storageId = $storageId;
74
+        $this->rootId = $rootId;
75
+        $this->mountPoint = $mountPoint;
76
+        $this->mountId = $mountId;
77
+        $this->rootInternalPath = $rootInternalPath;
78
+    }
79
+
80
+    /**
81
+     * @return IUser
82
+     */
83
+    public function getUser() {
84
+        return $this->user;
85
+    }
86
+
87
+    /**
88
+     * @return int the numeric storage id of the mount
89
+     */
90
+    public function getStorageId() {
91
+        return $this->storageId;
92
+    }
93
+
94
+    /**
95
+     * @return int the fileid of the root of the mount
96
+     */
97
+    public function getRootId() {
98
+        return $this->rootId;
99
+    }
100
+
101
+    /**
102
+     * @return Node the root node of the mount
103
+     */
104
+    public function getMountPointNode() {
105
+        // TODO injection etc
106
+        Filesystem::initMountPoints($this->getUser()->getUID());
107
+        $userNode = \OC::$server->getUserFolder($this->getUser()->getUID());
108
+        $nodes = $userNode->getParent()->getById($this->getRootId());
109
+        if (count($nodes) > 0) {
110
+            return $nodes[0];
111
+        } else {
112
+            return null;
113
+        }
114
+    }
115
+
116
+    /**
117
+     * @return string the mount point of the mount for the user
118
+     */
119
+    public function getMountPoint() {
120
+        return $this->mountPoint;
121
+    }
122
+
123
+    /**
124
+     * Get the id of the configured mount
125
+     *
126
+     * @return int|null mount id or null if not applicable
127
+     * @since 9.1.0
128
+     */
129
+    public function getMountId() {
130
+        return $this->mountId;
131
+    }
132
+
133
+    /**
134
+     * Get the internal path (within the storage) of the root of the mount
135
+     *
136
+     * @return string
137
+     */
138
+    public function getRootInternalPath() {
139
+        return $this->rootInternalPath;
140
+    }
141 141
 }
Please login to merge, or discard this patch.