Passed
Push — develop ( fc7043...b7cd40 )
by Jens
02:53
created
cloudcontrol/library/storage/Repository.php 1 patch
Indentation   +294 added lines, -294 removed lines patch added patch discarded remove patch
@@ -19,192 +19,192 @@  discard block
 block discarded – undo
19 19
 
20 20
 class Repository
21 21
 {
22
-    protected $storagePath;
23
-
24
-    protected $fileBasedSubsets = array('sitemap', 'applicationComponents', 'documentTypes', 'bricks', 'imageSet', 'images', 'files', 'users');
25
-
26
-    protected $sitemap;
27
-    protected $sitemapChanges = false;
28
-
29
-    protected $applicationComponents;
30
-    protected $applicationComponentsChanges = false;
31
-
32
-    protected $documentTypes;
33
-    protected $documentTypesChanges = false;
34
-
35
-    protected $bricks;
36
-    protected $bricksChanges = false;
37
-
38
-    protected $imageSet;
39
-    protected $imageSetChanges = false;
40
-
41
-    protected $images;
42
-    protected $imagesChanges = false;
43
-
44
-    protected $files;
45
-    protected $filesChanges = false;
46
-
47
-    protected $users;
48
-    protected $usersChanges = false;
49
-
50
-    protected $contentDbHandle;
51
-
52
-    /**
53
-     * Repository constructor.
54
-     * @param $storagePath
55
-     * @throws \Exception
56
-     */
57
-    public function __construct($storagePath)
58
-    {
59
-        $storagePath = realpath($storagePath);
60
-        if (is_dir($storagePath) && $storagePath !== false) {
61
-            $this->storagePath = $storagePath;
62
-        } else {
63
-            throw new \Exception('Repository not yet initialized.');
64
-        }
65
-    }
66
-
67
-    /**
68
-     * Creates the folder in which to create all storage related files
69
-     *
70
-     * @param $storagePath
71
-     * @return bool
72
-     */
73
-    public static function create($storagePath)
74
-    {
75
-        return mkdir($storagePath);
76
-    }
77
-
78
-    /**
79
-     * Initiates default storage
80
-     * @throws \Exception
81
-     */
82
-    public function init()
83
-    {
84
-        $storageDefaultPath = realpath('../library/cc/install/_storage.json');
85
-        $contentSqlPath = realpath('../library/cc/install/content.sql');
86
-
87
-        $this->initConfigStorage($storageDefaultPath);
88
-        $this->initContentDb($contentSqlPath);
89
-
90
-        $this->save();
91
-    }
92
-
93
-    public function __get($name)
94
-    {
95
-        if (isset($this->$name)) {
96
-            if (in_array($name, $this->fileBasedSubsets)) {
97
-                return $this->$name;
98
-            } else {
99
-                dump();
100
-            }
101
-        } else {
102
-            if (in_array($name, $this->fileBasedSubsets)) {
103
-                return $this->loadSubset($name);
104
-            } else {
105
-                throw new \Exception('Trying to get undefined property from Repository: ' . $name);
106
-            }
107
-        }
108
-    }
109
-
110
-    public function __set($name, $value)
111
-    {
112
-        if (in_array($name, $this->fileBasedSubsets)) {
113
-            $this->$name = $value;
114
-            $changes = $name . 'Changes';
115
-            $this->$changes = true;
116
-        } else {
117
-            throw new \Exception('Trying to persist unknown subset in repository: ' . $name . ' <br /><pre>' . print_r($value, true) . '</pre>');
118
-        }
119
-    }
120
-
121
-    public function save()
122
-    {
123
-        $this->sitemapChanges ? $this->saveSubset('sitemap') : null;
124
-        $this->applicationComponentsChanges ? $this->saveSubset('applicationComponents') : null;
125
-        $this->documentTypesChanges ? $this->saveSubset('documentTypes') : null;
126
-        $this->bricksChanges ? $this->saveSubset('bricks') : null;
127
-        $this->imageSetChanges ? $this->saveSubset('imageSet') : null;
128
-        $this->imagesChanges ? $this->saveSubset('images') : null;
129
-        $this->filesChanges ? $this->saveSubset('files') : null;
130
-        $this->usersChanges ? $this->saveSubset('users') : null;
131
-    }
132
-
133
-    protected function saveSubset($subset)
134
-    {
135
-        $json = json_encode($this->$subset);
136
-        $subsetStoragePath = $this->storagePath . DIRECTORY_SEPARATOR . $subset . '.json';
137
-        file_put_contents($subsetStoragePath, $json);
138
-        $changes = $subset . 'Changes';
139
-        $this->$changes = false;
140
-    }
141
-
142
-    protected function loadSubset($subset)
143
-    {
144
-        $subsetStoragePath = $this->storagePath . DIRECTORY_SEPARATOR . $subset . '.json';
145
-        $json = file_get_contents($subsetStoragePath);
146
-        $json = json_decode($json);
147
-        $this->$subset = $json;
148
-        return $json;
149
-    }
150
-
151
-    /**
152
-     * @param $contentSqlPath
153
-     */
154
-    protected function initContentDb($contentSqlPath)
155
-    {
156
-        $db = $this->getContentDbHandle();
157
-        $sql = file_get_contents($contentSqlPath);
158
-        $db->exec($sql);
159
-    }
160
-
161
-    /**
162
-     * @param $storageDefaultPath
163
-     */
164
-    protected function initConfigStorage($storageDefaultPath)
165
-    {
166
-        $json = file_get_contents($storageDefaultPath);
167
-        $json = json_decode($json);
168
-        $this->sitemap = $json->sitemap;
169
-        $this->sitemapChanges = true;
170
-        $this->applicationComponents = $json->applicationComponents;
171
-        $this->applicationComponentsChanges = true;
172
-        $this->documentTypes = $json->documentTypes;
173
-        $this->documentTypesChanges = true;
174
-        $this->bricks = $json->bricks;
175
-        $this->bricksChanges = true;
176
-        $this->imageSet = $json->imageSet;
177
-        $this->imageSetChanges = true;
178
-        $this->images = $json->images;
179
-        $this->imagesChanges = true;
180
-        $this->files = $json->files;
181
-        $this->filesChanges = true;
182
-        $this->users = $json->users;
183
-        $this->usersChanges = true;
184
-    }
185
-
186
-    /**
187
-     * @return \PDO
188
-     */
189
-    protected function getContentDbHandle()
190
-    {
191
-        if ($this->contentDbHandle === null) {
192
-            $this->contentDbHandle = new \PDO('sqlite:' . $this->storagePath . DIRECTORY_SEPARATOR . 'content.db');
193
-        }
194
-        return $this->contentDbHandle;
195
-    }
196
-
197
-    public function getDocuments()
198
-    {
199
-        return $this->getDocumentsByPath('/');
200
-    }
201
-
202
-    public function getDocumentsByPath($folderPath)
203
-    {
204
-        $db = $this->getContentDbHandle();
205
-        $folderPathWithWildcard = $folderPath . '%';
206
-
207
-        $stmt = $this->getDbStatement('
22
+	protected $storagePath;
23
+
24
+	protected $fileBasedSubsets = array('sitemap', 'applicationComponents', 'documentTypes', 'bricks', 'imageSet', 'images', 'files', 'users');
25
+
26
+	protected $sitemap;
27
+	protected $sitemapChanges = false;
28
+
29
+	protected $applicationComponents;
30
+	protected $applicationComponentsChanges = false;
31
+
32
+	protected $documentTypes;
33
+	protected $documentTypesChanges = false;
34
+
35
+	protected $bricks;
36
+	protected $bricksChanges = false;
37
+
38
+	protected $imageSet;
39
+	protected $imageSetChanges = false;
40
+
41
+	protected $images;
42
+	protected $imagesChanges = false;
43
+
44
+	protected $files;
45
+	protected $filesChanges = false;
46
+
47
+	protected $users;
48
+	protected $usersChanges = false;
49
+
50
+	protected $contentDbHandle;
51
+
52
+	/**
53
+	 * Repository constructor.
54
+	 * @param $storagePath
55
+	 * @throws \Exception
56
+	 */
57
+	public function __construct($storagePath)
58
+	{
59
+		$storagePath = realpath($storagePath);
60
+		if (is_dir($storagePath) && $storagePath !== false) {
61
+			$this->storagePath = $storagePath;
62
+		} else {
63
+			throw new \Exception('Repository not yet initialized.');
64
+		}
65
+	}
66
+
67
+	/**
68
+	 * Creates the folder in which to create all storage related files
69
+	 *
70
+	 * @param $storagePath
71
+	 * @return bool
72
+	 */
73
+	public static function create($storagePath)
74
+	{
75
+		return mkdir($storagePath);
76
+	}
77
+
78
+	/**
79
+	 * Initiates default storage
80
+	 * @throws \Exception
81
+	 */
82
+	public function init()
83
+	{
84
+		$storageDefaultPath = realpath('../library/cc/install/_storage.json');
85
+		$contentSqlPath = realpath('../library/cc/install/content.sql');
86
+
87
+		$this->initConfigStorage($storageDefaultPath);
88
+		$this->initContentDb($contentSqlPath);
89
+
90
+		$this->save();
91
+	}
92
+
93
+	public function __get($name)
94
+	{
95
+		if (isset($this->$name)) {
96
+			if (in_array($name, $this->fileBasedSubsets)) {
97
+				return $this->$name;
98
+			} else {
99
+				dump();
100
+			}
101
+		} else {
102
+			if (in_array($name, $this->fileBasedSubsets)) {
103
+				return $this->loadSubset($name);
104
+			} else {
105
+				throw new \Exception('Trying to get undefined property from Repository: ' . $name);
106
+			}
107
+		}
108
+	}
109
+
110
+	public function __set($name, $value)
111
+	{
112
+		if (in_array($name, $this->fileBasedSubsets)) {
113
+			$this->$name = $value;
114
+			$changes = $name . 'Changes';
115
+			$this->$changes = true;
116
+		} else {
117
+			throw new \Exception('Trying to persist unknown subset in repository: ' . $name . ' <br /><pre>' . print_r($value, true) . '</pre>');
118
+		}
119
+	}
120
+
121
+	public function save()
122
+	{
123
+		$this->sitemapChanges ? $this->saveSubset('sitemap') : null;
124
+		$this->applicationComponentsChanges ? $this->saveSubset('applicationComponents') : null;
125
+		$this->documentTypesChanges ? $this->saveSubset('documentTypes') : null;
126
+		$this->bricksChanges ? $this->saveSubset('bricks') : null;
127
+		$this->imageSetChanges ? $this->saveSubset('imageSet') : null;
128
+		$this->imagesChanges ? $this->saveSubset('images') : null;
129
+		$this->filesChanges ? $this->saveSubset('files') : null;
130
+		$this->usersChanges ? $this->saveSubset('users') : null;
131
+	}
132
+
133
+	protected function saveSubset($subset)
134
+	{
135
+		$json = json_encode($this->$subset);
136
+		$subsetStoragePath = $this->storagePath . DIRECTORY_SEPARATOR . $subset . '.json';
137
+		file_put_contents($subsetStoragePath, $json);
138
+		$changes = $subset . 'Changes';
139
+		$this->$changes = false;
140
+	}
141
+
142
+	protected function loadSubset($subset)
143
+	{
144
+		$subsetStoragePath = $this->storagePath . DIRECTORY_SEPARATOR . $subset . '.json';
145
+		$json = file_get_contents($subsetStoragePath);
146
+		$json = json_decode($json);
147
+		$this->$subset = $json;
148
+		return $json;
149
+	}
150
+
151
+	/**
152
+	 * @param $contentSqlPath
153
+	 */
154
+	protected function initContentDb($contentSqlPath)
155
+	{
156
+		$db = $this->getContentDbHandle();
157
+		$sql = file_get_contents($contentSqlPath);
158
+		$db->exec($sql);
159
+	}
160
+
161
+	/**
162
+	 * @param $storageDefaultPath
163
+	 */
164
+	protected function initConfigStorage($storageDefaultPath)
165
+	{
166
+		$json = file_get_contents($storageDefaultPath);
167
+		$json = json_decode($json);
168
+		$this->sitemap = $json->sitemap;
169
+		$this->sitemapChanges = true;
170
+		$this->applicationComponents = $json->applicationComponents;
171
+		$this->applicationComponentsChanges = true;
172
+		$this->documentTypes = $json->documentTypes;
173
+		$this->documentTypesChanges = true;
174
+		$this->bricks = $json->bricks;
175
+		$this->bricksChanges = true;
176
+		$this->imageSet = $json->imageSet;
177
+		$this->imageSetChanges = true;
178
+		$this->images = $json->images;
179
+		$this->imagesChanges = true;
180
+		$this->files = $json->files;
181
+		$this->filesChanges = true;
182
+		$this->users = $json->users;
183
+		$this->usersChanges = true;
184
+	}
185
+
186
+	/**
187
+	 * @return \PDO
188
+	 */
189
+	protected function getContentDbHandle()
190
+	{
191
+		if ($this->contentDbHandle === null) {
192
+			$this->contentDbHandle = new \PDO('sqlite:' . $this->storagePath . DIRECTORY_SEPARATOR . 'content.db');
193
+		}
194
+		return $this->contentDbHandle;
195
+	}
196
+
197
+	public function getDocuments()
198
+	{
199
+		return $this->getDocumentsByPath('/');
200
+	}
201
+
202
+	public function getDocumentsByPath($folderPath)
203
+	{
204
+		$db = $this->getContentDbHandle();
205
+		$folderPathWithWildcard = $folderPath . '%';
206
+
207
+		$stmt = $this->getDbStatement('
208 208
             SELECT *
209 209
               FROM documents
210 210
              WHERE `path` LIKE ' . $db->quote($folderPathWithWildcard) . '
@@ -213,100 +213,100 @@  discard block
 block discarded – undo
213 213
           ORDER BY `type` DESC, `path` ASC
214 214
         ');
215 215
 
216
-        $documents = $stmt->fetchAll(\PDO::FETCH_CLASS, '\library\storage\Document');
217
-        foreach ($documents as $key => $document) {
218
-            if ($document->type === 'folder') {
219
-                $document->dbHandle = $db;
220
-                $documents[$key] = $document;
221
-            }
222
-        }
223
-        return $documents;
224
-    }
225
-
226
-
227
-    /**
228
-     * @param $path
229
-     * @return bool|Document
230
-     */
231
-    public function getDocumentContainerByPath($path)
232
-    {
233
-        $document = $this->getDocumentByPath($path);
234
-        if ($document === false) {
235
-            return false;
236
-        }
237
-        $slugLength = strlen($document->slug);
238
-        $containerPath = substr($path, 0, -$slugLength);
239
-        if ($containerPath === '/') {
240
-            return $this->getRootFolder();
241
-        }
242
-        $containerFolder = $this->getDocumentByPath($containerPath);
243
-        return $containerFolder;
244
-    }
245
-
246
-    /**
247
-     * @param $path
248
-     * @return bool|Document
249
-     */
250
-    public function getDocumentByPath($path)
251
-    {
252
-        $db = $this->getContentDbHandle();
253
-        $document = $this->fetchDocument('
216
+		$documents = $stmt->fetchAll(\PDO::FETCH_CLASS, '\library\storage\Document');
217
+		foreach ($documents as $key => $document) {
218
+			if ($document->type === 'folder') {
219
+				$document->dbHandle = $db;
220
+				$documents[$key] = $document;
221
+			}
222
+		}
223
+		return $documents;
224
+	}
225
+
226
+
227
+	/**
228
+	 * @param $path
229
+	 * @return bool|Document
230
+	 */
231
+	public function getDocumentContainerByPath($path)
232
+	{
233
+		$document = $this->getDocumentByPath($path);
234
+		if ($document === false) {
235
+			return false;
236
+		}
237
+		$slugLength = strlen($document->slug);
238
+		$containerPath = substr($path, 0, -$slugLength);
239
+		if ($containerPath === '/') {
240
+			return $this->getRootFolder();
241
+		}
242
+		$containerFolder = $this->getDocumentByPath($containerPath);
243
+		return $containerFolder;
244
+	}
245
+
246
+	/**
247
+	 * @param $path
248
+	 * @return bool|Document
249
+	 */
250
+	public function getDocumentByPath($path)
251
+	{
252
+		$db = $this->getContentDbHandle();
253
+		$document = $this->fetchDocument('
254 254
             SELECT *
255 255
               FROM documents
256 256
              WHERE path = ' . $db->quote($path) . '
257 257
         ');
258
-        if ($document instanceof Document && $document->type === 'folder') {
259
-            $document->dbHandle = $db;
260
-        }
261
-        return $document;
262
-    }
263
-
264
-    protected function fetchAllDocuments($sql)
265
-    {
266
-        $stmt = $this->getDbStatement($sql);
267
-        return $stmt->fetchAll(\PDO::FETCH_CLASS, '\library\storage\Document');
268
-    }
269
-
270
-    protected function fetchDocument($sql)
271
-    {
272
-        $stmt = $this->getDbStatement($sql);
273
-        return $stmt->fetchObject('\library\storage\Document');
274
-    }
275
-
276
-    /**
277
-     * @param $sql
278
-     * @return \PDOStatement
279
-     * @throws \Exception
280
-     */
281
-    protected function getDbStatement($sql)
282
-    {
283
-        $db = $this->getContentDbHandle();
284
-        $stmt = $db->query($sql);
285
-        if ($stmt === false) {
286
-            $errorInfo = $db->errorInfo();
287
-            $errorMsg = $errorInfo[2];
288
-            throw new \Exception('SQLite Exception: ' . $errorMsg . ' in SQL: <br /><pre>' . $sql . '</pre>');
289
-        }
290
-        return $stmt;
291
-    }
292
-
293
-    protected function getRootFolder()
294
-    {
295
-        $rootFolder = new Document();
296
-        $rootFolder->path = '/';
297
-        $rootFolder->type = 'folder';
298
-        return $rootFolder;
299
-    }
300
-
301
-    /**
302
-     * @param $path
303
-     * @param Document $documentObject
304
-     * @return bool
305
-     */
306
-    public function saveDocument($documentObject)
307
-    {
308
-        $db = $this->getContentDbHandle();
309
-        $stmt = $this->getDbStatement('
258
+		if ($document instanceof Document && $document->type === 'folder') {
259
+			$document->dbHandle = $db;
260
+		}
261
+		return $document;
262
+	}
263
+
264
+	protected function fetchAllDocuments($sql)
265
+	{
266
+		$stmt = $this->getDbStatement($sql);
267
+		return $stmt->fetchAll(\PDO::FETCH_CLASS, '\library\storage\Document');
268
+	}
269
+
270
+	protected function fetchDocument($sql)
271
+	{
272
+		$stmt = $this->getDbStatement($sql);
273
+		return $stmt->fetchObject('\library\storage\Document');
274
+	}
275
+
276
+	/**
277
+	 * @param $sql
278
+	 * @return \PDOStatement
279
+	 * @throws \Exception
280
+	 */
281
+	protected function getDbStatement($sql)
282
+	{
283
+		$db = $this->getContentDbHandle();
284
+		$stmt = $db->query($sql);
285
+		if ($stmt === false) {
286
+			$errorInfo = $db->errorInfo();
287
+			$errorMsg = $errorInfo[2];
288
+			throw new \Exception('SQLite Exception: ' . $errorMsg . ' in SQL: <br /><pre>' . $sql . '</pre>');
289
+		}
290
+		return $stmt;
291
+	}
292
+
293
+	protected function getRootFolder()
294
+	{
295
+		$rootFolder = new Document();
296
+		$rootFolder->path = '/';
297
+		$rootFolder->type = 'folder';
298
+		return $rootFolder;
299
+	}
300
+
301
+	/**
302
+	 * @param $path
303
+	 * @param Document $documentObject
304
+	 * @return bool
305
+	 */
306
+	public function saveDocument($documentObject)
307
+	{
308
+		$db = $this->getContentDbHandle();
309
+		$stmt = $this->getDbStatement('
310 310
             INSERT OR REPLACE INTO documents (`path`,`title`,`slug`,`type`,`documentType`,`documentTypeSlug`,`state`,`lastModificationDate`,`creationDate`,`lastModifiedBy`,`fields`,`bricks`,`dynamicBricks`)
311 311
             VALUES(
312 312
               ' . $db->quote($documentObject->path) . ',
@@ -324,31 +324,31 @@  discard block
 block discarded – undo
324 324
               ' . $db->quote(json_encode($documentObject->dynamicBricks)) . '
325 325
             )
326 326
         ');
327
-        $result = $stmt->execute();
328
-        return $result;
329
-    }
330
-
331
-    public function deleteDocumentByPath($path)
332
-    {
333
-        $db = $this->getContentDbHandle();
334
-        $documentToDelete = $this->getDocumentByPath($path);
335
-        if ($documentToDelete instanceof Document) {
336
-            if ($documentToDelete->type == 'document') {
337
-                $stmt = $this->getDbStatement('
327
+		$result = $stmt->execute();
328
+		return $result;
329
+	}
330
+
331
+	public function deleteDocumentByPath($path)
332
+	{
333
+		$db = $this->getContentDbHandle();
334
+		$documentToDelete = $this->getDocumentByPath($path);
335
+		if ($documentToDelete instanceof Document) {
336
+			if ($documentToDelete->type == 'document') {
337
+				$stmt = $this->getDbStatement('
338 338
                     DELETE FROM documents
339 339
                           WHERE path = ' . $db->quote($path) . '
340 340
                 ');
341
-            } elseif ($documentToDelete->type == 'folder') {
342
-                $folderPathWithWildcard = $path . '%';
343
-                $stmt = $this->getDbStatement('
341
+			} elseif ($documentToDelete->type == 'folder') {
342
+				$folderPathWithWildcard = $path . '%';
343
+				$stmt = $this->getDbStatement('
344 344
                     DELETE FROM documents
345 345
                           WHERE (path LIKE ' . $db->quote($folderPathWithWildcard) . '
346 346
                             AND substr(`path`, ' . (strlen($path) + 1) . ', 1) = "/")
347 347
                             OR path = ' . $db->quote($path) . '
348 348
                 ');
349
-            }
350
-        }
349
+			}
350
+		}
351 351
 
352
-        $stmt->execute();
353
-    }
352
+		$stmt->execute();
353
+	}
354 354
 }
355 355
\ No newline at end of file
Please login to merge, or discard this patch.
cloudcontrol/library/storage/Document.php 1 patch
Indentation   +69 added lines, -69 removed lines patch added patch discarded remove patch
@@ -10,85 +10,85 @@
 block discarded – undo
10 10
 
11 11
 class Document
12 12
 {
13
-    public $id;
14
-    public $path;
15
-    public $title;
16
-    public $slug;
17
-    public $type;
18
-    public $documentType;
19
-    public $documentTypeSlug;
20
-    public $state;
21
-    public $lastModificationDate;
22
-    public $creationDate;
23
-    public $lastModifiedBy;
24
-    protected $fields;
25
-    protected $bricks;
26
-    protected $dynamicBricks;
27
-    protected $content;
13
+	public $id;
14
+	public $path;
15
+	public $title;
16
+	public $slug;
17
+	public $type;
18
+	public $documentType;
19
+	public $documentTypeSlug;
20
+	public $state;
21
+	public $lastModificationDate;
22
+	public $creationDate;
23
+	public $lastModifiedBy;
24
+	protected $fields;
25
+	protected $bricks;
26
+	protected $dynamicBricks;
27
+	protected $content;
28 28
 
29
-    protected $dbHandle;
29
+	protected $dbHandle;
30 30
 
31
-    protected $jsonEncodedFields = array('fields', 'bricks', 'dynamicBricks');
31
+	protected $jsonEncodedFields = array('fields', 'bricks', 'dynamicBricks');
32 32
 
33
-    public function __get($name) {
34
-        if (in_array($name, $this->jsonEncodedFields)) {
35
-            if (is_string($this->$name)) {
36
-                return json_decode($this->$name);
37
-            } else {
38
-                return $this->$name;
39
-            }
40
-        } elseif ($name === 'content') {
41
-            if ($this->dbHandle === null) {
42
-                throw new \Exception('Document doesnt have a dbHandle handle. (path: ' . $this->path . ')');
43
-            } else {
44
-                if ($this->content === null) {
45
-                    $this->getContent();
46
-                }
47
-                return $this->content;
48
-            }
49
-        } elseif ($name === 'repository') {
50
-            throw new \Exception('Trying to get protected property repository.');
51
-        }
52
-        return $this->$name;
53
-    }
33
+	public function __get($name) {
34
+		if (in_array($name, $this->jsonEncodedFields)) {
35
+			if (is_string($this->$name)) {
36
+				return json_decode($this->$name);
37
+			} else {
38
+				return $this->$name;
39
+			}
40
+		} elseif ($name === 'content') {
41
+			if ($this->dbHandle === null) {
42
+				throw new \Exception('Document doesnt have a dbHandle handle. (path: ' . $this->path . ')');
43
+			} else {
44
+				if ($this->content === null) {
45
+					$this->getContent();
46
+				}
47
+				return $this->content;
48
+			}
49
+		} elseif ($name === 'repository') {
50
+			throw new \Exception('Trying to get protected property repository.');
51
+		}
52
+		return $this->$name;
53
+	}
54 54
 
55
-    public function __set($name, $value) {
56
-        if (in_array($name, $this->jsonEncodedFields)) {
57
-            $this->$name = json_encode($value);
58
-        } elseif ($name === 'content') {
59
-            // Dont do anything for now..
60
-            return;
61
-        }
55
+	public function __set($name, $value) {
56
+		if (in_array($name, $this->jsonEncodedFields)) {
57
+			$this->$name = json_encode($value);
58
+		} elseif ($name === 'content') {
59
+			// Dont do anything for now..
60
+			return;
61
+		}
62 62
 
63
-        $this->$name = $value;
64
-    }
63
+		$this->$name = $value;
64
+	}
65 65
 
66
-    /**
67
-     * @throws \Exception
68
-     */
69
-    protected function getContent()
70
-    {
71
-        $folderPathWithWildcard = $this->path . '%';
72
-        $sql = '    SELECT *
66
+	/**
67
+	 * @throws \Exception
68
+	 */
69
+	protected function getContent()
70
+	{
71
+		$folderPathWithWildcard = $this->path . '%';
72
+		$sql = '    SELECT *
73 73
                       FROM documents
74 74
                      WHERE `path` LIKE ' . $this->dbHandle->quote($folderPathWithWildcard) . '
75 75
                        AND substr(`path`, ' . (strlen($this->path) + 2) . ') NOT LIKE "%/%"
76 76
                        AND substr(`path`, ' . (strlen($this->path) + 1) . ', 1) = "/"
77 77
                        AND path != ' . $this->dbHandle->quote($this->path) . '
78 78
                     ';
79
-        $stmt = $this->dbHandle->query($sql);
80
-        if ($stmt === false) {
81
-            $errorInfo = $this->dbHandle->errorInfo();
82
-            $errorMsg = $errorInfo[2];
83
-            throw new \Exception('SQLite Exception: ' . $errorMsg . ' in SQL: <br /><pre>' . $sql . '</pre>');
84
-        }
85
-        $contents = $stmt->fetchAll(\PDO::FETCH_CLASS, '\library\storage\Document');
86
-        foreach ($contents as $key => $document) {
87
-            if ($document->type === 'folder') {
88
-                $document->dbHandle = $this->dbHandle;
89
-                $contents[$key] = $document;
90
-            }
91
-        }
92
-        $this->content = $contents;
93
-    }
79
+		$stmt = $this->dbHandle->query($sql);
80
+		if ($stmt === false) {
81
+			$errorInfo = $this->dbHandle->errorInfo();
82
+			$errorMsg = $errorInfo[2];
83
+			throw new \Exception('SQLite Exception: ' . $errorMsg . ' in SQL: <br /><pre>' . $sql . '</pre>');
84
+		}
85
+		$contents = $stmt->fetchAll(\PDO::FETCH_CLASS, '\library\storage\Document');
86
+		foreach ($contents as $key => $document) {
87
+			if ($document->type === 'folder') {
88
+				$document->dbHandle = $this->dbHandle;
89
+				$contents[$key] = $document;
90
+			}
91
+		}
92
+		$this->content = $contents;
93
+	}
94 94
 }
95 95
\ No newline at end of file
Please login to merge, or discard this patch.
cloudcontrol/library/storage/JsonStorage.php 1 patch
Indentation   +55 added lines, -55 removed lines patch added patch discarded remove patch
@@ -2,19 +2,19 @@  discard block
 block discarded – undo
2 2
 namespace library\storage
3 3
 {
4 4
 
5
-    use library\crypt\Crypt;
6
-    use library\images\ImageResizer;
5
+	use library\crypt\Crypt;
6
+	use library\images\ImageResizer;
7 7
 
8
-    /**
8
+	/**
9 9
 	 * Class JsonStorage
10 10
 	 * @package library\storage
11 11
 	 */
12 12
 	class JsonStorage implements Storage
13 13
 	{
14 14
 		private $storageDir;
15
-        /**
16
-         * @var Repository
17
-         */
15
+		/**
16
+		 * @var Repository
17
+		 */
18 18
 		private $repository;
19 19
 
20 20
 		/**
@@ -124,9 +124,9 @@  discard block
 block discarded – undo
124 124
 			if (!empty($doesItExist)) {
125 125
 				throw new \Exception('Trying to add username that already exists.');
126 126
 			}
127
-            $users = $this->repository->users;
128
-            $users[] = $userObj;
129
-            $this->repository->users = $users;
127
+			$users = $this->repository->users;
128
+			$users[] = $userObj;
129
+			$this->repository->users = $users;
130 130
 			$this->save();
131 131
 		}
132 132
 
@@ -194,40 +194,40 @@  discard block
 block discarded – undo
194 194
 		 */
195 195
 		public function getDocumentBySlug($slug)
196 196
 		{
197
-            $path = '/' . $slug;
197
+			$path = '/' . $slug;
198 198
 			return $this->repository->getDocumentByPath($path);
199 199
 		}
200 200
 
201 201
 		public function saveDocument($postValues)
202 202
 		{
203
-            $oldPath = '/' . $postValues['path'];
203
+			$oldPath = '/' . $postValues['path'];
204 204
 
205
-            $container = $this->getDocumentContainerByPath($oldPath);
206
-            $documentObject = $this->createDocumentFromPostValues($postValues);
207
-            if ($container->path === '/') {
208
-                $newPath = $container->path . $documentObject->slug;
209
-            } else {
210
-                $newPath = $container->path . '/' . $documentObject->slug;
211
-            }
212
-            $documentObject->path = $newPath;
213
-            $this->repository->saveDocument($documentObject);
214
-        }
205
+			$container = $this->getDocumentContainerByPath($oldPath);
206
+			$documentObject = $this->createDocumentFromPostValues($postValues);
207
+			if ($container->path === '/') {
208
+				$newPath = $container->path . $documentObject->slug;
209
+			} else {
210
+				$newPath = $container->path . '/' . $documentObject->slug;
211
+			}
212
+			$documentObject->path = $newPath;
213
+			$this->repository->saveDocument($documentObject);
214
+		}
215 215
 
216 216
 		public function addDocument($postValues)
217 217
 		{
218 218
 			$documentObject = $this->createDocumentFromPostValues($postValues);
219
-            if ($postValues['path'] === '/') {
220
-                $documentObject->path = $postValues['path'] . $documentObject->slug;
221
-            } else {
222
-                $documentObject->path = $postValues['path'] . '/' . $documentObject->slug;
223
-            }
219
+			if ($postValues['path'] === '/') {
220
+				$documentObject->path = $postValues['path'] . $documentObject->slug;
221
+			} else {
222
+				$documentObject->path = $postValues['path'] . '/' . $documentObject->slug;
223
+			}
224 224
 
225
-            $this->repository->saveDocument($documentObject);
225
+			$this->repository->saveDocument($documentObject);
226 226
 		}
227 227
 
228 228
 		public function deleteDocumentBySlug($slug)
229 229
 		{
230
-            $path = '/' . $slug;
230
+			$path = '/' . $slug;
231 231
 			$this->repository->deleteDocumentByPath($path);
232 232
 		}
233 233
 
@@ -307,13 +307,13 @@  discard block
 block discarded – undo
307 307
 		 */
308 308
 		public function addDocumentFolder($postValues)
309 309
 		{
310
-            $documentFolderObject = $this->createDocumentFolderFromPostValues($postValues);
311
-            if ($postValues['path'] === '/') {
312
-                $documentFolderObject->path = $postValues['path'] . $documentFolderObject->slug;
313
-            } else {
314
-                $documentFolderObject->path = $postValues['path'] . '/' . $documentFolderObject->slug;
315
-            }
316
-            $this->repository->saveDocument($documentFolderObject);
310
+			$documentFolderObject = $this->createDocumentFolderFromPostValues($postValues);
311
+			if ($postValues['path'] === '/') {
312
+				$documentFolderObject->path = $postValues['path'] . $documentFolderObject->slug;
313
+			} else {
314
+				$documentFolderObject->path = $postValues['path'] . '/' . $documentFolderObject->slug;
315
+			}
316
+			$this->repository->saveDocument($documentFolderObject);
317 317
 		}
318 318
 
319 319
 		/**
@@ -325,7 +325,7 @@  discard block
 block discarded – undo
325 325
 		 */
326 326
 		public function deleteDocumentFolderBySlug($slug)
327 327
 		{
328
-            $path = '/' . $slug;
328
+			$path = '/' . $slug;
329 329
 			$this->repository->deleteDocumentByPath($path);
330 330
 		}
331 331
 
@@ -339,7 +339,7 @@  discard block
 block discarded – undo
339 339
 		 */
340 340
 		public function getDocumentFolderBySlug($slug)
341 341
 		{
342
-            $path = '/' . $slug;
342
+			$path = '/' . $slug;
343 343
 			return $this->repository->getDocumentByPath($path);
344 344
 		}
345 345
 
@@ -352,7 +352,7 @@  discard block
 block discarded – undo
352 352
 		 */
353 353
 		public function saveDocumentFolder($postValues)
354 354
 		{
355
-            $this->addDocumentFolder($postValues);
355
+			$this->addDocumentFolder($postValues);
356 356
 		}
357 357
 
358 358
 		/**
@@ -365,7 +365,7 @@  discard block
 block discarded – undo
365 365
 		 */
366 366
 		private function getDocumentContainerByPath($path)
367 367
 		{
368
-            return $this->repository->getDocumentContainerByPath($path);
368
+			return $this->repository->getDocumentContainerByPath($path);
369 369
 		}
370 370
 
371 371
 		/**
@@ -569,9 +569,9 @@  discard block
 block discarded – undo
569 569
 				$imageObject->size = $postValues['size'];
570 570
 				$imageObject->set = $fileNames;
571 571
 
572
-                $images = $this->repository->images;
572
+				$images = $this->repository->images;
573 573
 				$images[] = $imageObject;
574
-                $this->repository->images = $images;
574
+				$this->repository->images = $images;
575 575
 
576 576
 				$this->save();
577 577
 			} else {
@@ -606,7 +606,7 @@  discard block
 block discarded – undo
606 606
 		/**
607 607
 		 * @param $filename
608 608
 		 * @return null
609
-         */
609
+		 */
610 610
 		public function getImageByName($filename)
611 611
 		{
612 612
 			$images = $this->getImages();
@@ -657,9 +657,9 @@  discard block
 block discarded – undo
657 657
 				$file->type = $postValues['type'];
658 658
 				$file->size = $postValues['size'];
659 659
 
660
-                $files = $this->repository->files;
660
+				$files = $this->repository->files;
661 661
 				$files[] = $file;
662
-                $this->repository->files = $files;
662
+				$this->repository->files = $files;
663 663
 				$this->save();
664 664
 			} else {
665 665
 				throw new \Exception('Error moving uploaded file');
@@ -698,7 +698,7 @@  discard block
 block discarded – undo
698 698
 		/**
699 699
 		 * @param $filename
700 700
 		 * @return null
701
-         */
701
+		 */
702 702
 		public function getFileByName($filename)
703 703
 		{
704 704
 			$files = $this->getFiles();
@@ -713,7 +713,7 @@  discard block
 block discarded – undo
713 713
 		/**
714 714
 		 * @param $filename
715 715
 		 * @throws \Exception
716
-         */
716
+		 */
717 717
 		public function deleteFileByName($filename)
718 718
 		{
719 719
 			$destinationPath = realpath(__DIR__ . '/../../www/files/');
@@ -758,9 +758,9 @@  discard block
 block discarded – undo
758 758
 		{
759 759
 			$documentTypeObject = $this->createDocumentTypeFromPostValues($postValues);
760 760
 
761
-            $documentTypes = $this->repository->documentTypes;
762
-            $documentTypes[] = $documentTypeObject;
763
-            $this->repository->documentTypes = $documentTypes;
761
+			$documentTypes = $this->repository->documentTypes;
762
+			$documentTypes[] = $documentTypeObject;
763
+			$this->repository->documentTypes = $documentTypes;
764 764
 
765 765
 			$this->save();
766 766
 		}
@@ -906,9 +906,9 @@  discard block
 block discarded – undo
906 906
 		{
907 907
 			$brickObject = $this->createBrickFromPostValues($postValues);
908 908
 
909
-            $bricks = $this->repository->bricks;
910
-            $bricks[] = $brickObject;
911
-            $this->repository->bricks = $bricks;
909
+			$bricks = $this->repository->bricks;
910
+			$bricks[] = $brickObject;
911
+			$this->repository->bricks = $bricks;
912 912
 
913 913
 			$this->save();
914 914
 		}
@@ -1113,9 +1113,9 @@  discard block
 block discarded – undo
1113 1113
 		{
1114 1114
 			$imageSetObject = $this->createImageSetFromPostValues($postValues);
1115 1115
 
1116
-            $imageSet = $this->repository->imageSet;
1117
-            $imageSet[] = $imageSetObject;
1118
-            $this->repository->imageSet = $imageSet;
1116
+			$imageSet = $this->repository->imageSet;
1117
+			$imageSet[] = $imageSetObject;
1118
+			$this->repository->imageSet = $imageSet;
1119 1119
 
1120 1120
 			$this->save();
1121 1121
 		}
Please login to merge, or discard this patch.