Passed
Push — master ( 90401e...63cb31 )
by Roeland
20:41 queued 20s
created
lib/private/Files/Cache/HomePropagator.php 1 patch
Indentation   +21 added lines, -21 removed lines patch added patch discarded remove patch
@@ -25,28 +25,28 @@
 block discarded – undo
25 25
 use OCP\IDBConnection;
26 26
 
27 27
 class HomePropagator extends Propagator {
28
-	private $ignoredBaseFolders;
28
+    private $ignoredBaseFolders;
29 29
 
30
-	/**
31
-	 * @param \OC\Files\Storage\Storage $storage
32
-	 */
33
-	public function __construct(\OC\Files\Storage\Storage $storage, IDBConnection $connection) {
34
-		parent::__construct($storage, $connection);
35
-		$this->ignoredBaseFolders = ['files_encryption'];
36
-	}
30
+    /**
31
+     * @param \OC\Files\Storage\Storage $storage
32
+     */
33
+    public function __construct(\OC\Files\Storage\Storage $storage, IDBConnection $connection) {
34
+        parent::__construct($storage, $connection);
35
+        $this->ignoredBaseFolders = ['files_encryption'];
36
+    }
37 37
 
38 38
 
39
-	/**
40
-	 * @param string $internalPath
41
-	 * @param int $time
42
-	 * @param int $sizeDifference number of bytes the file has grown
43
-	 */
44
-	public function propagateChange($internalPath, $time, $sizeDifference = 0) {
45
-		list($baseFolder) = explode('/', $internalPath, 2);
46
-		if (in_array($baseFolder, $this->ignoredBaseFolders)) {
47
-			return [];
48
-		} else {
49
-			parent::propagateChange($internalPath, $time, $sizeDifference);
50
-		}
51
-	}
39
+    /**
40
+     * @param string $internalPath
41
+     * @param int $time
42
+     * @param int $sizeDifference number of bytes the file has grown
43
+     */
44
+    public function propagateChange($internalPath, $time, $sizeDifference = 0) {
45
+        list($baseFolder) = explode('/', $internalPath, 2);
46
+        if (in_array($baseFolder, $this->ignoredBaseFolders)) {
47
+            return [];
48
+        } else {
49
+            parent::propagateChange($internalPath, $time, $sizeDifference);
50
+        }
51
+    }
52 52
 }
Please login to merge, or discard this patch.
lib/private/Files/Cache/Updater.php 1 patch
Indentation   +212 added lines, -212 removed lines patch added patch discarded remove patch
@@ -36,216 +36,216 @@
 block discarded – undo
36 36
  *
37 37
  */
38 38
 class Updater implements IUpdater {
39
-	/**
40
-	 * @var bool
41
-	 */
42
-	protected $enabled = true;
43
-
44
-	/**
45
-	 * @var \OC\Files\Storage\Storage
46
-	 */
47
-	protected $storage;
48
-
49
-	/**
50
-	 * @var \OC\Files\Cache\Propagator
51
-	 */
52
-	protected $propagator;
53
-
54
-	/**
55
-	 * @var Scanner
56
-	 */
57
-	protected $scanner;
58
-
59
-	/**
60
-	 * @var Cache
61
-	 */
62
-	protected $cache;
63
-
64
-	/**
65
-	 * @param \OC\Files\Storage\Storage $storage
66
-	 */
67
-	public function __construct(\OC\Files\Storage\Storage $storage) {
68
-		$this->storage = $storage;
69
-		$this->propagator = $storage->getPropagator();
70
-		$this->scanner = $storage->getScanner();
71
-		$this->cache = $storage->getCache();
72
-	}
73
-
74
-	/**
75
-	 * Disable updating the cache trough this updater
76
-	 */
77
-	public function disable() {
78
-		$this->enabled = false;
79
-	}
80
-
81
-	/**
82
-	 * Re-enable the updating of the cache trough this updater
83
-	 */
84
-	public function enable() {
85
-		$this->enabled = true;
86
-	}
87
-
88
-	/**
89
-	 * Get the propagator for etags and mtime for the view the updater works on
90
-	 *
91
-	 * @return Propagator
92
-	 */
93
-	public function getPropagator() {
94
-		return $this->propagator;
95
-	}
96
-
97
-	/**
98
-	 * Propagate etag and mtime changes for the parent folders of $path up to the root of the filesystem
99
-	 *
100
-	 * @param string $path the path of the file to propagate the changes for
101
-	 * @param int|null $time the timestamp to set as mtime for the parent folders, if left out the current time is used
102
-	 */
103
-	public function propagate($path, $time = null) {
104
-		if (Scanner::isPartialFile($path)) {
105
-			return;
106
-		}
107
-		$this->propagator->propagateChange($path, $time);
108
-	}
109
-
110
-	/**
111
-	 * Update the cache for $path and update the size, etag and mtime of the parent folders
112
-	 *
113
-	 * @param string $path
114
-	 * @param int $time
115
-	 */
116
-	public function update($path, $time = null) {
117
-		if (!$this->enabled or Scanner::isPartialFile($path)) {
118
-			return;
119
-		}
120
-		if (is_null($time)) {
121
-			$time = time();
122
-		}
123
-
124
-		$data = $this->scanner->scan($path, Scanner::SCAN_SHALLOW, -1, false);
125
-		if (
126
-			isset($data['oldSize']) && isset($data['size']) &&
127
-			!$data['encrypted'] // encryption is a pita and touches the cache itself
128
-		) {
129
-			$sizeDifference = $data['size'] - $data['oldSize'];
130
-		} else {
131
-			// scanner didn't provide size info, fallback to full size calculation
132
-			$sizeDifference = 0;
133
-			if ($this->cache instanceof Cache) {
134
-				$this->cache->correctFolderSize($path, $data);
135
-			}
136
-		}
137
-		$this->correctParentStorageMtime($path);
138
-		$this->propagator->propagateChange($path, $time, $sizeDifference);
139
-	}
140
-
141
-	/**
142
-	 * Remove $path from the cache and update the size, etag and mtime of the parent folders
143
-	 *
144
-	 * @param string $path
145
-	 */
146
-	public function remove($path) {
147
-		if (!$this->enabled or Scanner::isPartialFile($path)) {
148
-			return;
149
-		}
150
-
151
-		$parent = dirname($path);
152
-		if ($parent === '.') {
153
-			$parent = '';
154
-		}
155
-
156
-		$entry = $this->cache->get($path);
157
-
158
-		$this->cache->remove($path);
159
-
160
-		$this->correctParentStorageMtime($path);
161
-		if ($entry instanceof ICacheEntry) {
162
-			$this->propagator->propagateChange($path, time(), -$entry->getSize());
163
-		} else {
164
-			$this->propagator->propagateChange($path, time());
165
-			if ($this->cache instanceof Cache) {
166
-				$this->cache->correctFolderSize($parent);
167
-			}
168
-		}
169
-
170
-	}
171
-
172
-	/**
173
-	 * Rename a file or folder in the cache and update the size, etag and mtime of the parent folders
174
-	 *
175
-	 * @param IStorage $sourceStorage
176
-	 * @param string $source
177
-	 * @param string $target
178
-	 */
179
-	public function renameFromStorage(IStorage $sourceStorage, $source, $target) {
180
-		if (!$this->enabled or Scanner::isPartialFile($source) or Scanner::isPartialFile($target)) {
181
-			return;
182
-		}
183
-
184
-		$time = time();
185
-
186
-		$sourceCache = $sourceStorage->getCache();
187
-		$sourceUpdater = $sourceStorage->getUpdater();
188
-		$sourcePropagator = $sourceStorage->getPropagator();
189
-
190
-		if ($sourceCache->inCache($source)) {
191
-			if ($this->cache->inCache($target)) {
192
-				$this->cache->remove($target);
193
-			}
194
-
195
-			if ($sourceStorage === $this->storage) {
196
-				$this->cache->move($source, $target);
197
-			} else {
198
-				$this->cache->moveFromCache($sourceCache, $source, $target);
199
-			}
200
-		}
201
-
202
-		if (pathinfo($source, PATHINFO_EXTENSION) !== pathinfo($target, PATHINFO_EXTENSION)) {
203
-			// handle mime type change
204
-			$mimeType = $this->storage->getMimeType($target);
205
-			$fileId = $this->cache->getId($target);
206
-			$this->cache->update($fileId, ['mimetype' => $mimeType]);
207
-		}
208
-
209
-		if ($sourceCache instanceof Cache) {
210
-			$sourceCache->correctFolderSize($source);
211
-		}
212
-		if ($this->cache instanceof Cache) {
213
-			$this->cache->correctFolderSize($target);
214
-		}
215
-		if ($sourceUpdater instanceof Updater) {
216
-			$sourceUpdater->correctParentStorageMtime($source);
217
-		}
218
-		$this->correctParentStorageMtime($target);
219
-		$this->updateStorageMTimeOnly($target);
220
-		$sourcePropagator->propagateChange($source, $time);
221
-		$this->propagator->propagateChange($target, $time);
222
-	}
223
-
224
-	private function updateStorageMTimeOnly($internalPath) {
225
-		$fileId = $this->cache->getId($internalPath);
226
-		if ($fileId !== -1) {
227
-			$this->cache->update(
228
-				$fileId, [
229
-					'mtime' => null, // this magic tells it to not overwrite mtime
230
-					'storage_mtime' => $this->storage->filemtime($internalPath)
231
-				]
232
-			);
233
-		}
234
-	}
235
-
236
-	/**
237
-	 * update the storage_mtime of the direct parent in the cache to the mtime from the storage
238
-	 *
239
-	 * @param string $internalPath
240
-	 */
241
-	private function correctParentStorageMtime($internalPath) {
242
-		$parentId = $this->cache->getParentId($internalPath);
243
-		$parent = dirname($internalPath);
244
-		if ($parentId != -1) {
245
-			$mtime = $this->storage->filemtime($parent);
246
-			if ($mtime !== false) {
247
-				$this->cache->update($parentId, array('storage_mtime' => $mtime));
248
-			}
249
-		}
250
-	}
39
+    /**
40
+     * @var bool
41
+     */
42
+    protected $enabled = true;
43
+
44
+    /**
45
+     * @var \OC\Files\Storage\Storage
46
+     */
47
+    protected $storage;
48
+
49
+    /**
50
+     * @var \OC\Files\Cache\Propagator
51
+     */
52
+    protected $propagator;
53
+
54
+    /**
55
+     * @var Scanner
56
+     */
57
+    protected $scanner;
58
+
59
+    /**
60
+     * @var Cache
61
+     */
62
+    protected $cache;
63
+
64
+    /**
65
+     * @param \OC\Files\Storage\Storage $storage
66
+     */
67
+    public function __construct(\OC\Files\Storage\Storage $storage) {
68
+        $this->storage = $storage;
69
+        $this->propagator = $storage->getPropagator();
70
+        $this->scanner = $storage->getScanner();
71
+        $this->cache = $storage->getCache();
72
+    }
73
+
74
+    /**
75
+     * Disable updating the cache trough this updater
76
+     */
77
+    public function disable() {
78
+        $this->enabled = false;
79
+    }
80
+
81
+    /**
82
+     * Re-enable the updating of the cache trough this updater
83
+     */
84
+    public function enable() {
85
+        $this->enabled = true;
86
+    }
87
+
88
+    /**
89
+     * Get the propagator for etags and mtime for the view the updater works on
90
+     *
91
+     * @return Propagator
92
+     */
93
+    public function getPropagator() {
94
+        return $this->propagator;
95
+    }
96
+
97
+    /**
98
+     * Propagate etag and mtime changes for the parent folders of $path up to the root of the filesystem
99
+     *
100
+     * @param string $path the path of the file to propagate the changes for
101
+     * @param int|null $time the timestamp to set as mtime for the parent folders, if left out the current time is used
102
+     */
103
+    public function propagate($path, $time = null) {
104
+        if (Scanner::isPartialFile($path)) {
105
+            return;
106
+        }
107
+        $this->propagator->propagateChange($path, $time);
108
+    }
109
+
110
+    /**
111
+     * Update the cache for $path and update the size, etag and mtime of the parent folders
112
+     *
113
+     * @param string $path
114
+     * @param int $time
115
+     */
116
+    public function update($path, $time = null) {
117
+        if (!$this->enabled or Scanner::isPartialFile($path)) {
118
+            return;
119
+        }
120
+        if (is_null($time)) {
121
+            $time = time();
122
+        }
123
+
124
+        $data = $this->scanner->scan($path, Scanner::SCAN_SHALLOW, -1, false);
125
+        if (
126
+            isset($data['oldSize']) && isset($data['size']) &&
127
+            !$data['encrypted'] // encryption is a pita and touches the cache itself
128
+        ) {
129
+            $sizeDifference = $data['size'] - $data['oldSize'];
130
+        } else {
131
+            // scanner didn't provide size info, fallback to full size calculation
132
+            $sizeDifference = 0;
133
+            if ($this->cache instanceof Cache) {
134
+                $this->cache->correctFolderSize($path, $data);
135
+            }
136
+        }
137
+        $this->correctParentStorageMtime($path);
138
+        $this->propagator->propagateChange($path, $time, $sizeDifference);
139
+    }
140
+
141
+    /**
142
+     * Remove $path from the cache and update the size, etag and mtime of the parent folders
143
+     *
144
+     * @param string $path
145
+     */
146
+    public function remove($path) {
147
+        if (!$this->enabled or Scanner::isPartialFile($path)) {
148
+            return;
149
+        }
150
+
151
+        $parent = dirname($path);
152
+        if ($parent === '.') {
153
+            $parent = '';
154
+        }
155
+
156
+        $entry = $this->cache->get($path);
157
+
158
+        $this->cache->remove($path);
159
+
160
+        $this->correctParentStorageMtime($path);
161
+        if ($entry instanceof ICacheEntry) {
162
+            $this->propagator->propagateChange($path, time(), -$entry->getSize());
163
+        } else {
164
+            $this->propagator->propagateChange($path, time());
165
+            if ($this->cache instanceof Cache) {
166
+                $this->cache->correctFolderSize($parent);
167
+            }
168
+        }
169
+
170
+    }
171
+
172
+    /**
173
+     * Rename a file or folder in the cache and update the size, etag and mtime of the parent folders
174
+     *
175
+     * @param IStorage $sourceStorage
176
+     * @param string $source
177
+     * @param string $target
178
+     */
179
+    public function renameFromStorage(IStorage $sourceStorage, $source, $target) {
180
+        if (!$this->enabled or Scanner::isPartialFile($source) or Scanner::isPartialFile($target)) {
181
+            return;
182
+        }
183
+
184
+        $time = time();
185
+
186
+        $sourceCache = $sourceStorage->getCache();
187
+        $sourceUpdater = $sourceStorage->getUpdater();
188
+        $sourcePropagator = $sourceStorage->getPropagator();
189
+
190
+        if ($sourceCache->inCache($source)) {
191
+            if ($this->cache->inCache($target)) {
192
+                $this->cache->remove($target);
193
+            }
194
+
195
+            if ($sourceStorage === $this->storage) {
196
+                $this->cache->move($source, $target);
197
+            } else {
198
+                $this->cache->moveFromCache($sourceCache, $source, $target);
199
+            }
200
+        }
201
+
202
+        if (pathinfo($source, PATHINFO_EXTENSION) !== pathinfo($target, PATHINFO_EXTENSION)) {
203
+            // handle mime type change
204
+            $mimeType = $this->storage->getMimeType($target);
205
+            $fileId = $this->cache->getId($target);
206
+            $this->cache->update($fileId, ['mimetype' => $mimeType]);
207
+        }
208
+
209
+        if ($sourceCache instanceof Cache) {
210
+            $sourceCache->correctFolderSize($source);
211
+        }
212
+        if ($this->cache instanceof Cache) {
213
+            $this->cache->correctFolderSize($target);
214
+        }
215
+        if ($sourceUpdater instanceof Updater) {
216
+            $sourceUpdater->correctParentStorageMtime($source);
217
+        }
218
+        $this->correctParentStorageMtime($target);
219
+        $this->updateStorageMTimeOnly($target);
220
+        $sourcePropagator->propagateChange($source, $time);
221
+        $this->propagator->propagateChange($target, $time);
222
+    }
223
+
224
+    private function updateStorageMTimeOnly($internalPath) {
225
+        $fileId = $this->cache->getId($internalPath);
226
+        if ($fileId !== -1) {
227
+            $this->cache->update(
228
+                $fileId, [
229
+                    'mtime' => null, // this magic tells it to not overwrite mtime
230
+                    'storage_mtime' => $this->storage->filemtime($internalPath)
231
+                ]
232
+            );
233
+        }
234
+    }
235
+
236
+    /**
237
+     * update the storage_mtime of the direct parent in the cache to the mtime from the storage
238
+     *
239
+     * @param string $internalPath
240
+     */
241
+    private function correctParentStorageMtime($internalPath) {
242
+        $parentId = $this->cache->getParentId($internalPath);
243
+        $parent = dirname($internalPath);
244
+        if ($parentId != -1) {
245
+            $mtime = $this->storage->filemtime($parent);
246
+            if ($mtime !== false) {
247
+                $this->cache->update($parentId, array('storage_mtime' => $mtime));
248
+            }
249
+        }
250
+    }
251 251
 }
Please login to merge, or discard this patch.
lib/private/Files/Cache/HomeCache.php 1 patch
Indentation   +51 added lines, -51 removed lines patch added patch discarded remove patch
@@ -30,58 +30,58 @@
 block discarded – undo
30 30
 use OCP\Files\Cache\ICacheEntry;
31 31
 
32 32
 class HomeCache extends Cache {
33
-	/**
34
-	 * get the size of a folder and set it in the cache
35
-	 *
36
-	 * @param string $path
37
-	 * @param array $entry (optional) meta data of the folder
38
-	 * @return int
39
-	 */
40
-	public function calculateFolderSize($path, $entry = null) {
41
-		if ($path !== '/' and $path !== '' and $path !== 'files' and $path !== 'files_trashbin' and $path !== 'files_versions') {
42
-			return parent::calculateFolderSize($path, $entry);
43
-		} elseif ($path === '' or $path === '/') {
44
-			// since the size of / isn't used (the size of /files is used instead) there is no use in calculating it
45
-			return 0;
46
-		}
33
+    /**
34
+     * get the size of a folder and set it in the cache
35
+     *
36
+     * @param string $path
37
+     * @param array $entry (optional) meta data of the folder
38
+     * @return int
39
+     */
40
+    public function calculateFolderSize($path, $entry = null) {
41
+        if ($path !== '/' and $path !== '' and $path !== 'files' and $path !== 'files_trashbin' and $path !== 'files_versions') {
42
+            return parent::calculateFolderSize($path, $entry);
43
+        } elseif ($path === '' or $path === '/') {
44
+            // since the size of / isn't used (the size of /files is used instead) there is no use in calculating it
45
+            return 0;
46
+        }
47 47
 
48
-		$totalSize = 0;
49
-		if (is_null($entry)) {
50
-			$entry = $this->get($path);
51
-		}
52
-		if ($entry && $entry['mimetype'] === 'httpd/unix-directory') {
53
-			$id = $entry['fileid'];
54
-			$sql = 'SELECT SUM(`size`) AS f1 ' .
55
-			   'FROM `*PREFIX*filecache` ' .
56
-				'WHERE `parent` = ? AND `storage` = ? AND `size` >= 0';
57
-			$result = \OC_DB::executeAudited($sql, array($id, $this->getNumericStorageId()));
58
-			if ($row = $result->fetchRow()) {
59
-				$result->closeCursor();
60
-				list($sum) = array_values($row);
61
-				$totalSize = 0 + $sum;
62
-				$entry['size'] += 0;
63
-				if ($entry['size'] !== $totalSize) {
64
-					$this->update($id, array('size' => $totalSize));
65
-				}
66
-			}
67
-		}
68
-		return $totalSize;
69
-	}
48
+        $totalSize = 0;
49
+        if (is_null($entry)) {
50
+            $entry = $this->get($path);
51
+        }
52
+        if ($entry && $entry['mimetype'] === 'httpd/unix-directory') {
53
+            $id = $entry['fileid'];
54
+            $sql = 'SELECT SUM(`size`) AS f1 ' .
55
+                'FROM `*PREFIX*filecache` ' .
56
+                'WHERE `parent` = ? AND `storage` = ? AND `size` >= 0';
57
+            $result = \OC_DB::executeAudited($sql, array($id, $this->getNumericStorageId()));
58
+            if ($row = $result->fetchRow()) {
59
+                $result->closeCursor();
60
+                list($sum) = array_values($row);
61
+                $totalSize = 0 + $sum;
62
+                $entry['size'] += 0;
63
+                if ($entry['size'] !== $totalSize) {
64
+                    $this->update($id, array('size' => $totalSize));
65
+                }
66
+            }
67
+        }
68
+        return $totalSize;
69
+    }
70 70
 
71
-	/**
72
-	 * @param string $path
73
-	 * @return ICacheEntry
74
-	 */
75
-	public function get($path) {
76
-		$data = parent::get($path);
77
-		if ($path === '' or $path === '/') {
78
-			// only the size of the "files" dir counts
79
-			$filesData = parent::get('files');
71
+    /**
72
+     * @param string $path
73
+     * @return ICacheEntry
74
+     */
75
+    public function get($path) {
76
+        $data = parent::get($path);
77
+        if ($path === '' or $path === '/') {
78
+            // only the size of the "files" dir counts
79
+            $filesData = parent::get('files');
80 80
 
81
-			if (isset($filesData['size'])) {
82
-				$data['size'] = $filesData['size'];
83
-			}
84
-		}
85
-		return $data;
86
-	}
81
+            if (isset($filesData['size'])) {
82
+                $data['size'] = $filesData['size'];
83
+            }
84
+        }
85
+        return $data;
86
+    }
87 87
 }
Please login to merge, or discard this patch.
lib/private/Search/Result/Image.php 1 patch
Indentation   +8 added lines, -8 removed lines patch added patch discarded remove patch
@@ -29,13 +29,13 @@
 block discarded – undo
29 29
  */
30 30
 class Image extends File {
31 31
 
32
-	/**
33
-	 * Type name; translated in templates
34
-	 * @var string 
35
-	 */
36
-	public $type = 'image';
32
+    /**
33
+     * Type name; translated in templates
34
+     * @var string 
35
+     */
36
+    public $type = 'image';
37 37
 	
38
-	/**
39
-	 * @TODO add EXIF information
40
-	 */
38
+    /**
39
+     * @TODO add EXIF information
40
+     */
41 41
 }
Please login to merge, or discard this patch.
lib/private/Search/Result/Audio.php 1 patch
Indentation   +8 added lines, -8 removed lines patch added patch discarded remove patch
@@ -29,13 +29,13 @@
 block discarded – undo
29 29
  */
30 30
 class Audio extends File {
31 31
 
32
-	/**
33
-	 * Type name; translated in templates
34
-	 * @var string 
35
-	 */
36
-	public $type = 'audio';
32
+    /**
33
+     * Type name; translated in templates
34
+     * @var string 
35
+     */
36
+    public $type = 'audio';
37 37
 	
38
-	/**
39
-	 * @TODO add ID3 information
40
-	 */
38
+    /**
39
+     * @TODO add ID3 information
40
+     */
41 41
 }
Please login to merge, or discard this patch.
lib/private/Search/Result/Folder.php 1 patch
Indentation   +5 added lines, -5 removed lines patch added patch discarded remove patch
@@ -29,10 +29,10 @@
 block discarded – undo
29 29
  */
30 30
 class Folder extends File {
31 31
 
32
-	/**
33
-	 * Type name; translated in templates
34
-	 * @var string 
35
-	 */
36
-	public $type = 'folder';
32
+    /**
33
+     * Type name; translated in templates
34
+     * @var string 
35
+     */
36
+    public $type = 'folder';
37 37
 	
38 38
 }
Please login to merge, or discard this patch.
lib/private/AppFramework/Http/Output.php 1 patch
Indentation   +58 added lines, -58 removed lines patch added patch discarded remove patch
@@ -30,70 +30,70 @@
 block discarded – undo
30 30
  * Very thin wrapper class to make output testable
31 31
  */
32 32
 class Output implements IOutput {
33
-	/** @var string */
34
-	private $webRoot;
33
+    /** @var string */
34
+    private $webRoot;
35 35
 
36
-	/**
37
-	 * @param $webRoot
38
-	 */
39
-	public function __construct($webRoot) {
40
-		$this->webRoot = $webRoot;
41
-	}
36
+    /**
37
+     * @param $webRoot
38
+     */
39
+    public function __construct($webRoot) {
40
+        $this->webRoot = $webRoot;
41
+    }
42 42
 
43
-	/**
44
-	 * @param string $out
45
-	 */
46
-	public function setOutput($out) {
47
-		print($out);
48
-	}
43
+    /**
44
+     * @param string $out
45
+     */
46
+    public function setOutput($out) {
47
+        print($out);
48
+    }
49 49
 
50
-	/**
51
-	 * @param string|resource $path or file handle
52
-	 *
53
-	 * @return bool false if an error occurred
54
-	 */
55
-	public function setReadfile($path) {
56
-		if (is_resource($path)) {
57
-			$output = fopen('php://output', 'w');
58
-			return stream_copy_to_stream($path, $output) > 0;
59
-		} else {
60
-			return @readfile($path);
61
-		}
62
-	}
50
+    /**
51
+     * @param string|resource $path or file handle
52
+     *
53
+     * @return bool false if an error occurred
54
+     */
55
+    public function setReadfile($path) {
56
+        if (is_resource($path)) {
57
+            $output = fopen('php://output', 'w');
58
+            return stream_copy_to_stream($path, $output) > 0;
59
+        } else {
60
+            return @readfile($path);
61
+        }
62
+    }
63 63
 
64
-	/**
65
-	 * @param string $header
66
-	 */
67
-	public function setHeader($header) {
68
-		header($header);
69
-	}
64
+    /**
65
+     * @param string $header
66
+     */
67
+    public function setHeader($header) {
68
+        header($header);
69
+    }
70 70
 
71
-	/**
72
-	 * @param int $code sets the http status code
73
-	 */
74
-	public function setHttpResponseCode($code) {
75
-		http_response_code($code);
76
-	}
71
+    /**
72
+     * @param int $code sets the http status code
73
+     */
74
+    public function setHttpResponseCode($code) {
75
+        http_response_code($code);
76
+    }
77 77
 
78
-	/**
79
-	 * @return int returns the current http response code
80
-	 */
81
-	public function getHttpResponseCode() {
82
-		return http_response_code();
83
-	}
78
+    /**
79
+     * @return int returns the current http response code
80
+     */
81
+    public function getHttpResponseCode() {
82
+        return http_response_code();
83
+    }
84 84
 
85
-	/**
86
-	 * @param string $name
87
-	 * @param string $value
88
-	 * @param int $expire
89
-	 * @param string $path
90
-	 * @param string $domain
91
-	 * @param bool $secure
92
-	 * @param bool $httpOnly
93
-	 */
94
-	public function setCookie($name, $value, $expire, $path, $domain, $secure, $httpOnly) {
95
-		$path = $this->webRoot ? : '/';
96
-		setcookie($name, $value, $expire, $path, $domain, $secure, $httpOnly);
97
-	}
85
+    /**
86
+     * @param string $name
87
+     * @param string $value
88
+     * @param int $expire
89
+     * @param string $path
90
+     * @param string $domain
91
+     * @param bool $secure
92
+     * @param bool $httpOnly
93
+     */
94
+    public function setCookie($name, $value, $expire, $path, $domain, $secure, $httpOnly) {
95
+        $path = $this->webRoot ? : '/';
96
+        setcookie($name, $value, $expire, $path, $domain, $secure, $httpOnly);
97
+    }
98 98
 
99 99
 }
Please login to merge, or discard this patch.
lib/private/AppFramework/Middleware/Security/CORSMiddleware.php 1 patch
Indentation   +102 added lines, -102 removed lines patch added patch discarded remove patch
@@ -45,116 +45,116 @@
 block discarded – undo
45 45
  * https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS
46 46
  */
47 47
 class CORSMiddleware extends Middleware {
48
-	/** @var IRequest  */
49
-	private $request;
50
-	/** @var ControllerMethodReflector */
51
-	private $reflector;
52
-	/** @var Session */
53
-	private $session;
54
-	/** @var Throttler */
55
-	private $throttler;
48
+    /** @var IRequest  */
49
+    private $request;
50
+    /** @var ControllerMethodReflector */
51
+    private $reflector;
52
+    /** @var Session */
53
+    private $session;
54
+    /** @var Throttler */
55
+    private $throttler;
56 56
 
57
-	/**
58
-	 * @param IRequest $request
59
-	 * @param ControllerMethodReflector $reflector
60
-	 * @param Session $session
61
-	 * @param Throttler $throttler
62
-	 */
63
-	public function __construct(IRequest $request,
64
-								ControllerMethodReflector $reflector,
65
-								Session $session,
66
-								Throttler $throttler) {
67
-		$this->request = $request;
68
-		$this->reflector = $reflector;
69
-		$this->session = $session;
70
-		$this->throttler = $throttler;
71
-	}
57
+    /**
58
+     * @param IRequest $request
59
+     * @param ControllerMethodReflector $reflector
60
+     * @param Session $session
61
+     * @param Throttler $throttler
62
+     */
63
+    public function __construct(IRequest $request,
64
+                                ControllerMethodReflector $reflector,
65
+                                Session $session,
66
+                                Throttler $throttler) {
67
+        $this->request = $request;
68
+        $this->reflector = $reflector;
69
+        $this->session = $session;
70
+        $this->throttler = $throttler;
71
+    }
72 72
 
73
-	/**
74
-	 * This is being run in normal order before the controller is being
75
-	 * called which allows several modifications and checks
76
-	 *
77
-	 * @param Controller $controller the controller that is being called
78
-	 * @param string $methodName the name of the method that will be called on
79
-	 *                           the controller
80
-	 * @throws SecurityException
81
-	 * @since 6.0.0
82
-	 */
83
-	public function beforeController($controller, $methodName){
84
-		// ensure that @CORS annotated API routes are not used in conjunction
85
-		// with session authentication since this enables CSRF attack vectors
86
-		if ($this->reflector->hasAnnotation('CORS') &&
87
-			!$this->reflector->hasAnnotation('PublicPage'))  {
88
-			$user = $this->request->server['PHP_AUTH_USER'];
89
-			$pass = $this->request->server['PHP_AUTH_PW'];
73
+    /**
74
+     * This is being run in normal order before the controller is being
75
+     * called which allows several modifications and checks
76
+     *
77
+     * @param Controller $controller the controller that is being called
78
+     * @param string $methodName the name of the method that will be called on
79
+     *                           the controller
80
+     * @throws SecurityException
81
+     * @since 6.0.0
82
+     */
83
+    public function beforeController($controller, $methodName){
84
+        // ensure that @CORS annotated API routes are not used in conjunction
85
+        // with session authentication since this enables CSRF attack vectors
86
+        if ($this->reflector->hasAnnotation('CORS') &&
87
+            !$this->reflector->hasAnnotation('PublicPage'))  {
88
+            $user = $this->request->server['PHP_AUTH_USER'];
89
+            $pass = $this->request->server['PHP_AUTH_PW'];
90 90
 
91
-			$this->session->logout();
92
-			try {
93
-				if (!$this->session->logClientIn($user, $pass, $this->request, $this->throttler)) {
94
-					throw new SecurityException('CORS requires basic auth', Http::STATUS_UNAUTHORIZED);
95
-				}
96
-			} catch (PasswordLoginForbiddenException $ex) {
97
-				throw new SecurityException('Password login forbidden, use token instead', Http::STATUS_UNAUTHORIZED);
98
-			}
99
-		}
100
-	}
91
+            $this->session->logout();
92
+            try {
93
+                if (!$this->session->logClientIn($user, $pass, $this->request, $this->throttler)) {
94
+                    throw new SecurityException('CORS requires basic auth', Http::STATUS_UNAUTHORIZED);
95
+                }
96
+            } catch (PasswordLoginForbiddenException $ex) {
97
+                throw new SecurityException('Password login forbidden, use token instead', Http::STATUS_UNAUTHORIZED);
98
+            }
99
+        }
100
+    }
101 101
 
102
-	/**
103
-	 * This is being run after a successful controllermethod call and allows
104
-	 * the manipulation of a Response object. The middleware is run in reverse order
105
-	 *
106
-	 * @param Controller $controller the controller that is being called
107
-	 * @param string $methodName the name of the method that will be called on
108
-	 *                           the controller
109
-	 * @param Response $response the generated response from the controller
110
-	 * @return Response a Response object
111
-	 * @throws SecurityException
112
-	 */
113
-	public function afterController($controller, $methodName, Response $response){
114
-		// only react if its a CORS request and if the request sends origin and
102
+    /**
103
+     * This is being run after a successful controllermethod call and allows
104
+     * the manipulation of a Response object. The middleware is run in reverse order
105
+     *
106
+     * @param Controller $controller the controller that is being called
107
+     * @param string $methodName the name of the method that will be called on
108
+     *                           the controller
109
+     * @param Response $response the generated response from the controller
110
+     * @return Response a Response object
111
+     * @throws SecurityException
112
+     */
113
+    public function afterController($controller, $methodName, Response $response){
114
+        // only react if its a CORS request and if the request sends origin and
115 115
 
116
-		if(isset($this->request->server['HTTP_ORIGIN']) &&
117
-			$this->reflector->hasAnnotation('CORS')) {
116
+        if(isset($this->request->server['HTTP_ORIGIN']) &&
117
+            $this->reflector->hasAnnotation('CORS')) {
118 118
 
119
-			// allow credentials headers must not be true or CSRF is possible
120
-			// otherwise
121
-			foreach($response->getHeaders() as $header => $value) {
122
-				if(strtolower($header) === 'access-control-allow-credentials' &&
123
-				   strtolower(trim($value)) === 'true') {
124
-					$msg = 'Access-Control-Allow-Credentials must not be '.
125
-						   'set to true in order to prevent CSRF';
126
-					throw new SecurityException($msg);
127
-				}
128
-			}
119
+            // allow credentials headers must not be true or CSRF is possible
120
+            // otherwise
121
+            foreach($response->getHeaders() as $header => $value) {
122
+                if(strtolower($header) === 'access-control-allow-credentials' &&
123
+                   strtolower(trim($value)) === 'true') {
124
+                    $msg = 'Access-Control-Allow-Credentials must not be '.
125
+                            'set to true in order to prevent CSRF';
126
+                    throw new SecurityException($msg);
127
+                }
128
+            }
129 129
 
130
-			$origin = $this->request->server['HTTP_ORIGIN'];
131
-			$response->addHeader('Access-Control-Allow-Origin', $origin);
132
-		}
133
-		return $response;
134
-	}
130
+            $origin = $this->request->server['HTTP_ORIGIN'];
131
+            $response->addHeader('Access-Control-Allow-Origin', $origin);
132
+        }
133
+        return $response;
134
+    }
135 135
 
136
-	/**
137
-	 * If an SecurityException is being caught return a JSON error response
138
-	 *
139
-	 * @param Controller $controller the controller that is being called
140
-	 * @param string $methodName the name of the method that will be called on
141
-	 *                           the controller
142
-	 * @param \Exception $exception the thrown exception
143
-	 * @throws \Exception the passed in exception if it can't handle it
144
-	 * @return Response a Response object or null in case that the exception could not be handled
145
-	 */
146
-	public function afterException($controller, $methodName, \Exception $exception){
147
-		if($exception instanceof SecurityException){
148
-			$response =  new JSONResponse(['message' => $exception->getMessage()]);
149
-			if($exception->getCode() !== 0) {
150
-				$response->setStatus($exception->getCode());
151
-			} else {
152
-				$response->setStatus(Http::STATUS_INTERNAL_SERVER_ERROR);
153
-			}
154
-			return $response;
155
-		}
136
+    /**
137
+     * If an SecurityException is being caught return a JSON error response
138
+     *
139
+     * @param Controller $controller the controller that is being called
140
+     * @param string $methodName the name of the method that will be called on
141
+     *                           the controller
142
+     * @param \Exception $exception the thrown exception
143
+     * @throws \Exception the passed in exception if it can't handle it
144
+     * @return Response a Response object or null in case that the exception could not be handled
145
+     */
146
+    public function afterException($controller, $methodName, \Exception $exception){
147
+        if($exception instanceof SecurityException){
148
+            $response =  new JSONResponse(['message' => $exception->getMessage()]);
149
+            if($exception->getCode() !== 0) {
150
+                $response->setStatus($exception->getCode());
151
+            } else {
152
+                $response->setStatus(Http::STATUS_INTERNAL_SERVER_ERROR);
153
+            }
154
+            return $response;
155
+        }
156 156
 
157
-		throw $exception;
158
-	}
157
+        throw $exception;
158
+    }
159 159
 
160 160
 }
Please login to merge, or discard this patch.
AppFramework/Middleware/Security/Exceptions/NotConfirmedException.php 1 patch
Indentation   +3 added lines, -3 removed lines patch added patch discarded remove patch
@@ -31,7 +31,7 @@
 block discarded – undo
31 31
  * @package OC\AppFramework\Middleware\Security\Exceptions
32 32
  */
33 33
 class NotConfirmedException extends SecurityException {
34
-	public function __construct() {
35
-		parent::__construct('Password confirmation is required', Http::STATUS_FORBIDDEN);
36
-	}
34
+    public function __construct() {
35
+        parent::__construct('Password confirmation is required', Http::STATUS_FORBIDDEN);
36
+    }
37 37
 }
Please login to merge, or discard this patch.