@@ -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 | } |