@@ -18,87 +18,87 @@ |
||
18 | 18 | */ |
19 | 19 | class Document |
20 | 20 | { |
21 | - public $id; |
|
22 | - public $path; |
|
23 | - public $title; |
|
24 | - public $slug; |
|
25 | - public $type; |
|
26 | - public $documentType; |
|
27 | - public $documentTypeSlug; |
|
28 | - public $state; |
|
29 | - public $lastModificationDate; |
|
30 | - public $creationDate; |
|
31 | - public $lastModifiedBy; |
|
32 | - protected $fields; |
|
33 | - protected $bricks; |
|
34 | - protected $dynamicBricks; |
|
35 | - protected $content; |
|
21 | + public $id; |
|
22 | + public $path; |
|
23 | + public $title; |
|
24 | + public $slug; |
|
25 | + public $type; |
|
26 | + public $documentType; |
|
27 | + public $documentTypeSlug; |
|
28 | + public $state; |
|
29 | + public $lastModificationDate; |
|
30 | + public $creationDate; |
|
31 | + public $lastModifiedBy; |
|
32 | + protected $fields; |
|
33 | + protected $bricks; |
|
34 | + protected $dynamicBricks; |
|
35 | + protected $content; |
|
36 | 36 | |
37 | - protected $dbHandle; |
|
37 | + protected $dbHandle; |
|
38 | 38 | |
39 | - protected $jsonEncodedFields = array('fields', 'bricks', 'dynamicBricks'); |
|
39 | + protected $jsonEncodedFields = array('fields', 'bricks', 'dynamicBricks'); |
|
40 | 40 | |
41 | - public function __get($name) { |
|
42 | - if (in_array($name, $this->jsonEncodedFields)) { |
|
43 | - if (is_string($this->$name)) { |
|
44 | - return json_decode($this->$name); |
|
45 | - } else { |
|
46 | - return $this->$name; |
|
47 | - } |
|
48 | - } elseif ($name === 'content') { |
|
49 | - if ($this->dbHandle === null) { |
|
50 | - throw new \Exception('Document doesnt have a dbHandle handle. (path: ' . $this->path . ')'); |
|
51 | - } else { |
|
52 | - if ($this->content === null) { |
|
53 | - $this->getContent(); |
|
54 | - } |
|
55 | - return $this->content; |
|
56 | - } |
|
57 | - } elseif ($name === 'dbHandle') { |
|
58 | - throw new \Exception('Trying to get protected property repository.'); |
|
59 | - } |
|
60 | - return $this->$name; |
|
61 | - } |
|
41 | + public function __get($name) { |
|
42 | + if (in_array($name, $this->jsonEncodedFields)) { |
|
43 | + if (is_string($this->$name)) { |
|
44 | + return json_decode($this->$name); |
|
45 | + } else { |
|
46 | + return $this->$name; |
|
47 | + } |
|
48 | + } elseif ($name === 'content') { |
|
49 | + if ($this->dbHandle === null) { |
|
50 | + throw new \Exception('Document doesnt have a dbHandle handle. (path: ' . $this->path . ')'); |
|
51 | + } else { |
|
52 | + if ($this->content === null) { |
|
53 | + $this->getContent(); |
|
54 | + } |
|
55 | + return $this->content; |
|
56 | + } |
|
57 | + } elseif ($name === 'dbHandle') { |
|
58 | + throw new \Exception('Trying to get protected property repository.'); |
|
59 | + } |
|
60 | + return $this->$name; |
|
61 | + } |
|
62 | 62 | |
63 | - public function __set($name, $value) { |
|
64 | - if (in_array($name, $this->jsonEncodedFields)) { |
|
65 | - $this->$name = json_encode($value); |
|
66 | - } elseif ($name === 'content') { |
|
67 | - // Dont do anything for now.. |
|
68 | - return; |
|
69 | - } |
|
63 | + public function __set($name, $value) { |
|
64 | + if (in_array($name, $this->jsonEncodedFields)) { |
|
65 | + $this->$name = json_encode($value); |
|
66 | + } elseif ($name === 'content') { |
|
67 | + // Dont do anything for now.. |
|
68 | + return; |
|
69 | + } |
|
70 | 70 | |
71 | - $this->$name = $value; |
|
72 | - } |
|
71 | + $this->$name = $value; |
|
72 | + } |
|
73 | 73 | |
74 | - /** |
|
75 | - * @throws \Exception |
|
76 | - */ |
|
77 | - protected function getContent() |
|
78 | - { |
|
79 | - $folderPathWithWildcard = $this->path . '%'; |
|
80 | - $sql = ' SELECT * |
|
74 | + /** |
|
75 | + * @throws \Exception |
|
76 | + */ |
|
77 | + protected function getContent() |
|
78 | + { |
|
79 | + $folderPathWithWildcard = $this->path . '%'; |
|
80 | + $sql = ' SELECT * |
|
81 | 81 | FROM documents |
82 | 82 | WHERE `path` LIKE ' . $this->dbHandle->quote($folderPathWithWildcard) . ' |
83 | 83 | AND substr(`path`, ' . (strlen($this->path) + 2) . ') NOT LIKE "%/%" |
84 | 84 | AND substr(`path`, ' . (strlen($this->path) + 1) . ', 1) = "/" |
85 | 85 | AND path != ' . $this->dbHandle->quote($this->path) . ' |
86 | 86 | '; |
87 | - $stmt = $this->dbHandle->query($sql); |
|
88 | - if ($stmt === false) { |
|
89 | - $errorInfo = $this->dbHandle->errorInfo(); |
|
90 | - $errorMsg = $errorInfo[2]; |
|
91 | - throw new \Exception('SQLite Exception: ' . $errorMsg . ' in SQL: <br /><pre>' . $sql . '</pre>'); |
|
92 | - } |
|
93 | - $contents = $stmt->fetchAll(\PDO::FETCH_CLASS, '\library\storage\Document'); |
|
94 | - foreach ($contents as $key => $document) { |
|
95 | - if ($document->type === 'folder') { |
|
96 | - $document->dbHandle = $this->dbHandle; |
|
97 | - $contents[$key] = $document; |
|
98 | - } |
|
99 | - } |
|
100 | - $this->content = $contents; |
|
101 | - } |
|
87 | + $stmt = $this->dbHandle->query($sql); |
|
88 | + if ($stmt === false) { |
|
89 | + $errorInfo = $this->dbHandle->errorInfo(); |
|
90 | + $errorMsg = $errorInfo[2]; |
|
91 | + throw new \Exception('SQLite Exception: ' . $errorMsg . ' in SQL: <br /><pre>' . $sql . '</pre>'); |
|
92 | + } |
|
93 | + $contents = $stmt->fetchAll(\PDO::FETCH_CLASS, '\library\storage\Document'); |
|
94 | + foreach ($contents as $key => $document) { |
|
95 | + if ($document->type === 'folder') { |
|
96 | + $document->dbHandle = $this->dbHandle; |
|
97 | + $contents[$key] = $document; |
|
98 | + } |
|
99 | + } |
|
100 | + $this->content = $contents; |
|
101 | + } |
|
102 | 102 | |
103 | 103 | /** |
104 | 104 | * @return string |
@@ -2,10 +2,10 @@ discard block |
||
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 | */ |
@@ -15,9 +15,9 @@ discard block |
||
15 | 15 | * @var String |
16 | 16 | */ |
17 | 17 | private $storageDir; |
18 | - /** |
|
19 | - * @var Repository |
|
20 | - */ |
|
18 | + /** |
|
19 | + * @var Repository |
|
20 | + */ |
|
21 | 21 | private $repository; |
22 | 22 | |
23 | 23 | /** |
@@ -79,12 +79,12 @@ discard block |
||
79 | 79 | return $return; |
80 | 80 | } |
81 | 81 | |
82 | - /** |
|
83 | - * Get user by slug |
|
84 | - * |
|
85 | - * @param $slug |
|
86 | - * @return array |
|
87 | - */ |
|
82 | + /** |
|
83 | + * Get user by slug |
|
84 | + * |
|
85 | + * @param $slug |
|
86 | + * @return array |
|
87 | + */ |
|
88 | 88 | public function getUserBySlug($slug) |
89 | 89 | { |
90 | 90 | $return = array(); |
@@ -100,23 +100,23 @@ discard block |
||
100 | 100 | return $return; |
101 | 101 | } |
102 | 102 | |
103 | - /** |
|
104 | - * Get all users |
|
105 | - * |
|
106 | - * @return mixed |
|
107 | - */ |
|
103 | + /** |
|
104 | + * Get all users |
|
105 | + * |
|
106 | + * @return mixed |
|
107 | + */ |
|
108 | 108 | public function getUsers() |
109 | 109 | { |
110 | 110 | return $this->repository->users; |
111 | 111 | } |
112 | 112 | |
113 | - /** |
|
114 | - * Save user |
|
115 | - * |
|
116 | - * @param $slug |
|
117 | - * @param $postValues |
|
118 | - * @throws \Exception |
|
119 | - */ |
|
113 | + /** |
|
114 | + * Save user |
|
115 | + * |
|
116 | + * @param $slug |
|
117 | + * @param $postValues |
|
118 | + * @throws \Exception |
|
119 | + */ |
|
120 | 120 | public function saveUser($slug, $postValues) |
121 | 121 | { |
122 | 122 | $userObj = $this->createUserFromPostValues($postValues); |
@@ -137,12 +137,12 @@ discard block |
||
137 | 137 | $this->save(); |
138 | 138 | } |
139 | 139 | |
140 | - /** |
|
141 | - * Add user |
|
142 | - * |
|
143 | - * @param $postValues |
|
144 | - * @throws \Exception |
|
145 | - */ |
|
140 | + /** |
|
141 | + * Add user |
|
142 | + * |
|
143 | + * @param $postValues |
|
144 | + * @throws \Exception |
|
145 | + */ |
|
146 | 146 | public function addUser($postValues) |
147 | 147 | { |
148 | 148 | $userObj = $this->createUserFromPostValues($postValues); |
@@ -151,17 +151,17 @@ discard block |
||
151 | 151 | if (!empty($doesItExist)) { |
152 | 152 | throw new \Exception('Trying to add username that already exists.'); |
153 | 153 | } |
154 | - $users = $this->repository->users; |
|
155 | - $users[] = $userObj; |
|
156 | - $this->repository->users = $users; |
|
154 | + $users = $this->repository->users; |
|
155 | + $users[] = $userObj; |
|
156 | + $this->repository->users = $users; |
|
157 | 157 | $this->save(); |
158 | 158 | } |
159 | 159 | |
160 | - /** |
|
161 | - * Delete user by slug |
|
162 | - * @param $slug |
|
163 | - * @throws \Exception |
|
164 | - */ |
|
160 | + /** |
|
161 | + * Delete user by slug |
|
162 | + * @param $slug |
|
163 | + * @throws \Exception |
|
164 | + */ |
|
165 | 165 | public function deleteUserBySlug($slug) |
166 | 166 | { |
167 | 167 | $userToDelete = $this->getUserBySlug($slug); |
@@ -178,12 +178,12 @@ discard block |
||
178 | 178 | $this->save(); |
179 | 179 | } |
180 | 180 | |
181 | - /** |
|
182 | - * Create user from POST values |
|
183 | - * @param $postValues |
|
184 | - * @return \stdClass |
|
185 | - * @throws \Exception |
|
186 | - */ |
|
181 | + /** |
|
182 | + * Create user from POST values |
|
183 | + * @param $postValues |
|
184 | + * @return \stdClass |
|
185 | + * @throws \Exception |
|
186 | + */ |
|
187 | 187 | private function createUserFromPostValues($postValues) |
188 | 188 | { |
189 | 189 | if (isset($postValues['username'])) { |
@@ -237,7 +237,7 @@ discard block |
||
237 | 237 | */ |
238 | 238 | public function getDocumentBySlug($slug) |
239 | 239 | { |
240 | - $path = '/' . $slug; |
|
240 | + $path = '/' . $slug; |
|
241 | 241 | return $this->repository->getDocumentByPath($path); |
242 | 242 | } |
243 | 243 | |
@@ -246,34 +246,34 @@ discard block |
||
246 | 246 | */ |
247 | 247 | public function saveDocument($postValues) |
248 | 248 | { |
249 | - $oldPath = '/' . $postValues['path']; |
|
249 | + $oldPath = '/' . $postValues['path']; |
|
250 | 250 | |
251 | - $container = $this->getDocumentContainerByPath($oldPath); |
|
252 | - $documentObject = DocumentFactory::createDocumentFromPostValues($postValues, $this); |
|
253 | - if ($container->path === '/') { |
|
254 | - $newPath = $container->path . $documentObject->slug; |
|
255 | - } else { |
|
256 | - $newPath = $container->path . '/' . $documentObject->slug; |
|
257 | - } |
|
258 | - $documentObject->path = $newPath; |
|
259 | - $this->repository->saveDocument($documentObject); |
|
260 | - } |
|
251 | + $container = $this->getDocumentContainerByPath($oldPath); |
|
252 | + $documentObject = DocumentFactory::createDocumentFromPostValues($postValues, $this); |
|
253 | + if ($container->path === '/') { |
|
254 | + $newPath = $container->path . $documentObject->slug; |
|
255 | + } else { |
|
256 | + $newPath = $container->path . '/' . $documentObject->slug; |
|
257 | + } |
|
258 | + $documentObject->path = $newPath; |
|
259 | + $this->repository->saveDocument($documentObject); |
|
260 | + } |
|
261 | 261 | |
262 | 262 | public function addDocument($postValues) |
263 | 263 | { |
264 | 264 | $documentObject = DocumentFactory::createDocumentFromPostValues($postValues, $this); |
265 | - if ($postValues['path'] === '/') { |
|
266 | - $documentObject->path = $postValues['path'] . $documentObject->slug; |
|
267 | - } else { |
|
268 | - $documentObject->path = $postValues['path'] . '/' . $documentObject->slug; |
|
269 | - } |
|
265 | + if ($postValues['path'] === '/') { |
|
266 | + $documentObject->path = $postValues['path'] . $documentObject->slug; |
|
267 | + } else { |
|
268 | + $documentObject->path = $postValues['path'] . '/' . $documentObject->slug; |
|
269 | + } |
|
270 | 270 | |
271 | - $this->repository->saveDocument($documentObject); |
|
271 | + $this->repository->saveDocument($documentObject); |
|
272 | 272 | } |
273 | 273 | |
274 | 274 | public function deleteDocumentBySlug($slug) |
275 | 275 | { |
276 | - $path = '/' . $slug; |
|
276 | + $path = '/' . $slug; |
|
277 | 277 | $this->repository->deleteDocumentByPath($path); |
278 | 278 | } |
279 | 279 | |
@@ -286,13 +286,13 @@ discard block |
||
286 | 286 | */ |
287 | 287 | public function addDocumentFolder($postValues) |
288 | 288 | { |
289 | - $documentFolderObject = $this->createDocumentFolderFromPostValues($postValues); |
|
290 | - if ($postValues['path'] === '/') { |
|
291 | - $documentFolderObject->path = $postValues['path'] . $documentFolderObject->slug; |
|
292 | - } else { |
|
293 | - $documentFolderObject->path = $postValues['path'] . '/' . $documentFolderObject->slug; |
|
294 | - } |
|
295 | - $this->repository->saveDocument($documentFolderObject); |
|
289 | + $documentFolderObject = $this->createDocumentFolderFromPostValues($postValues); |
|
290 | + if ($postValues['path'] === '/') { |
|
291 | + $documentFolderObject->path = $postValues['path'] . $documentFolderObject->slug; |
|
292 | + } else { |
|
293 | + $documentFolderObject->path = $postValues['path'] . '/' . $documentFolderObject->slug; |
|
294 | + } |
|
295 | + $this->repository->saveDocument($documentFolderObject); |
|
296 | 296 | } |
297 | 297 | |
298 | 298 | /** |
@@ -304,7 +304,7 @@ discard block |
||
304 | 304 | */ |
305 | 305 | public function deleteDocumentFolderBySlug($slug) |
306 | 306 | { |
307 | - $path = '/' . $slug; |
|
307 | + $path = '/' . $slug; |
|
308 | 308 | $this->repository->deleteDocumentByPath($path); |
309 | 309 | } |
310 | 310 | |
@@ -318,7 +318,7 @@ discard block |
||
318 | 318 | */ |
319 | 319 | public function getDocumentFolderBySlug($slug) |
320 | 320 | { |
321 | - $path = '/' . $slug; |
|
321 | + $path = '/' . $slug; |
|
322 | 322 | return $this->repository->getDocumentByPath($path); |
323 | 323 | } |
324 | 324 | |
@@ -331,7 +331,7 @@ discard block |
||
331 | 331 | */ |
332 | 332 | public function saveDocumentFolder($postValues) |
333 | 333 | { |
334 | - $this->addDocumentFolder($postValues); |
|
334 | + $this->addDocumentFolder($postValues); |
|
335 | 335 | } |
336 | 336 | |
337 | 337 | /** |
@@ -344,7 +344,7 @@ discard block |
||
344 | 344 | */ |
345 | 345 | private function getDocumentContainerByPath($path) |
346 | 346 | { |
347 | - return $this->repository->getDocumentContainerByPath($path); |
|
347 | + return $this->repository->getDocumentContainerByPath($path); |
|
348 | 348 | } |
349 | 349 | |
350 | 350 | /** |
@@ -548,9 +548,9 @@ discard block |
||
548 | 548 | $imageObject->size = $postValues['size']; |
549 | 549 | $imageObject->set = $fileNames; |
550 | 550 | |
551 | - $images = $this->repository->images; |
|
551 | + $images = $this->repository->images; |
|
552 | 552 | $images[] = $imageObject; |
553 | - $this->repository->images = $images; |
|
553 | + $this->repository->images = $images; |
|
554 | 554 | |
555 | 555 | $this->save(); |
556 | 556 | } else { |
@@ -585,7 +585,7 @@ discard block |
||
585 | 585 | /** |
586 | 586 | * @param $filename |
587 | 587 | * @return null |
588 | - */ |
|
588 | + */ |
|
589 | 589 | public function getImageByName($filename) |
590 | 590 | { |
591 | 591 | $images = $this->getImages(); |
@@ -649,9 +649,9 @@ discard block |
||
649 | 649 | $file->type = $postValues['type']; |
650 | 650 | $file->size = $postValues['size']; |
651 | 651 | |
652 | - $files = $this->repository->files; |
|
652 | + $files = $this->repository->files; |
|
653 | 653 | $files[] = $file; |
654 | - $this->repository->files = $files; |
|
654 | + $this->repository->files = $files; |
|
655 | 655 | $this->save(); |
656 | 656 | } else { |
657 | 657 | throw new \Exception('Error moving uploaded file'); |
@@ -690,7 +690,7 @@ discard block |
||
690 | 690 | /** |
691 | 691 | * @param $filename |
692 | 692 | * @return null |
693 | - */ |
|
693 | + */ |
|
694 | 694 | public function getFileByName($filename) |
695 | 695 | { |
696 | 696 | $files = $this->getFiles(); |
@@ -705,7 +705,7 @@ discard block |
||
705 | 705 | /** |
706 | 706 | * @param $filename |
707 | 707 | * @throws \Exception |
708 | - */ |
|
708 | + */ |
|
709 | 709 | public function deleteFileByName($filename) |
710 | 710 | { |
711 | 711 | $destinationPath = realpath(__DIR__ . '/../../www/files/'); |
@@ -750,9 +750,9 @@ discard block |
||
750 | 750 | { |
751 | 751 | $documentTypeObject = $this->createDocumentTypeFromPostValues($postValues); |
752 | 752 | |
753 | - $documentTypes = $this->repository->documentTypes; |
|
754 | - $documentTypes[] = $documentTypeObject; |
|
755 | - $this->repository->documentTypes = $documentTypes; |
|
753 | + $documentTypes = $this->repository->documentTypes; |
|
754 | + $documentTypes[] = $documentTypeObject; |
|
755 | + $this->repository->documentTypes = $documentTypes; |
|
756 | 756 | |
757 | 757 | $this->save(); |
758 | 758 | } |
@@ -898,9 +898,9 @@ discard block |
||
898 | 898 | { |
899 | 899 | $brickObject = $this->createBrickFromPostValues($postValues); |
900 | 900 | |
901 | - $bricks = $this->repository->bricks; |
|
902 | - $bricks[] = $brickObject; |
|
903 | - $this->repository->bricks = $bricks; |
|
901 | + $bricks = $this->repository->bricks; |
|
902 | + $bricks[] = $brickObject; |
|
903 | + $this->repository->bricks = $bricks; |
|
904 | 904 | |
905 | 905 | $this->save(); |
906 | 906 | } |
@@ -1105,9 +1105,9 @@ discard block |
||
1105 | 1105 | { |
1106 | 1106 | $imageSetObject = $this->createImageSetFromPostValues($postValues); |
1107 | 1107 | |
1108 | - $imageSet = $this->repository->imageSet; |
|
1109 | - $imageSet[] = $imageSetObject; |
|
1110 | - $this->repository->imageSet = $imageSet; |
|
1108 | + $imageSet = $this->repository->imageSet; |
|
1109 | + $imageSet[] = $imageSetObject; |
|
1110 | + $this->repository->imageSet = $imageSet; |
|
1111 | 1111 | |
1112 | 1112 | $this->save(); |
1113 | 1113 | } |