Conditions | 136 |
Paths | 206 |
Total Lines | 340 |
Code Lines | 301 |
Lines | 0 |
Ratio | 0 % |
Changes | 21 | ||
Bugs | 0 | Features | 14 |
Small methods make your code easier to understand, in particular if combined with a good name. Besides, if your method is small, finding a good name is usually much easier.
For example, if you find yourself adding comments to a method's body, this is usually a good sign to extract the commented part to a new method, and use the comment as a starting point when coming up with a good name for this new method.
Commonly applied refactorings include:
If many parameters/temporary variables are present:
1 | <?php |
||
97 | protected function routing() |
||
98 | { |
||
99 | $request = $this->request; |
||
100 | |||
101 | // TODO Use regex match parameter instead of calculating relative uri |
||
102 | $pos = strpos($request::$relativeUri, $this->parameters['cmsPrefix']); |
||
103 | if ($pos !== false) { |
||
104 | $relativeCmsUri = substr_replace($request::$relativeUri, '', $pos, strlen($this->parameters['cmsPrefix'])); |
||
105 | } else { |
||
106 | $relativeCmsUri = '/'; |
||
107 | } |
||
108 | |||
109 | $template = null; |
||
110 | |||
111 | $userRights = $_SESSION['cloudcontrol']->rights; |
||
112 | |||
113 | if ($relativeCmsUri == '' || $relativeCmsUri == '/') { |
||
114 | $template = 'cms/dashboard'; |
||
115 | } elseif ($relativeCmsUri == '/documents' && in_array('documents', $userRights)) { |
||
116 | $template = 'cms/documents'; |
||
117 | $this->parameters['documents'] = $this->storage->getDocuments(); |
||
118 | $this->parameters['mainNavClass'] = 'documents'; |
||
119 | } elseif ($relativeCmsUri == '/documents.json') { |
||
120 | header('Content-type:application/json'); |
||
121 | die(json_encode($this->storage->getDocuments())); |
||
122 | } elseif ($relativeCmsUri == '/documents/new-folder' && isset($request::$get['path']) && in_array('documents', $userRights)) { |
||
123 | $template = 'cms/documents/folder-form'; |
||
124 | $this->parameters['mainNavClass'] = 'documents'; |
||
125 | if (isset($request::$post['title'], $request::$post['path'])) { |
||
126 | $this->storage->addDocumentFolder($request::$post); |
||
127 | header('Location: ' . $request::$subfolders . $this->parameters['cmsPrefix'] . '/documents'); |
||
128 | exit; |
||
129 | } |
||
130 | } elseif ($relativeCmsUri == '/documents/new-document' && isset($request::$get['path']) && in_array('documents', $userRights)) { |
||
131 | $template = 'cms/documents/document-form'; |
||
132 | $this->parameters['mainNavClass'] = 'documents'; |
||
133 | $this->parameters['smallestImage'] = $this->storage->getSmallestImageSet()->slug; |
||
134 | if (isset($request::$get['documentType'])) { |
||
135 | if (isset($request::$post['title'], $request::$get['documentType'], $request::$get['path'])) { |
||
136 | $this->storage->addDocument($request::$post); |
||
137 | header('Location: ' . $request::$subfolders . $this->parameters['cmsPrefix'] . '/documents'); |
||
138 | exit; |
||
139 | } |
||
140 | $this->parameters['documentType'] = $this->storage->getDocumentTypeBySlug($request::$get['documentType'], true); |
||
141 | $this->parameters['bricks'] = $this->storage->getBricks(); |
||
142 | } else { |
||
143 | $this->parameters['documentTypes'] = $this->storage->getDocumentTypes(); |
||
144 | } |
||
145 | } elseif ($relativeCmsUri == '/documents/edit-document' && isset($request::$get['slug']) && in_array('documents', $userRights)) { |
||
146 | $template = 'cms/documents/document-form'; |
||
147 | $this->parameters['mainNavClass'] = 'documents'; |
||
148 | $this->parameters['smallestImage'] = $this->storage->getSmallestImageSet()->slug; |
||
149 | if (isset($request::$post['title'], $request::$get['slug'])) { |
||
150 | $this->storage->saveDocument($request::$post); |
||
151 | header('Location: ' . $request::$subfolders . $this->parameters['cmsPrefix'] . '/documents'); |
||
152 | exit; |
||
153 | } |
||
154 | $this->parameters['document'] = $this->storage->getDocumentBySlug($request::$get['slug']); |
||
155 | $request::$get['path'] = $request::$get['slug']; |
||
156 | $this->parameters['documentType'] = $this->storage->getDocumentTypeBySlug($this->parameters['document']->documentTypeSlug, true); |
||
157 | $this->parameters['bricks'] = $this->storage->getBricks(); |
||
158 | } elseif ($relativeCmsUri == '/documents/get-brick' && isset($request::$get['slug']) && in_array('documents', $userRights)) { |
||
159 | $this->parameters['smallestImage'] = $this->storage->getSmallestImageSet()->slug; |
||
160 | $this->template = 'cms/documents/brick'; |
||
161 | $this->parameters['brick'] = $this->storage->getBrickBySlug($request::$get['slug']); |
||
162 | $this->parameters['static'] = $request::$get['static'] === 'true'; |
||
163 | if (isset($request::$get['myBrickSlug'])) { |
||
164 | $this->parameters['myBrickSlug'] = $request::$get['myBrickSlug']; |
||
165 | } |
||
166 | $result = new \stdClass(); |
||
167 | $result->body = $this->renderTemplate('cms/documents/brick'); |
||
168 | $result->rteList = isset($GLOBALS['rteList']) ? $GLOBALS['rteList'] : array(); |
||
169 | ob_clean(); |
||
170 | header('Content-type: application/json'); |
||
171 | die(json_encode($result)); |
||
172 | } else if ($relativeCmsUri == '/documents/edit-folder' && isset($request::$get['slug']) && in_array('documents', $userRights)) { |
||
173 | |||
174 | $template = 'cms/documents/folder-form'; |
||
175 | $folder = $this->storage->getDocumentFolderBySlug($request::$get['slug']); |
||
176 | |||
177 | $path = $request::$get['slug']; |
||
178 | $path = explode('/', $path); |
||
179 | array_pop($path); |
||
180 | $path = implode('/', $path); |
||
181 | |||
182 | $request::$get['path'] = '/' . $path; |
||
183 | |||
184 | if (isset($request::$post['title'], $request::$post['content'])) { |
||
185 | $this->storage->saveDocumentFolder($request::$post); |
||
186 | header('Location: ' . $request::$subfolders . $this->parameters['cmsPrefix'] . '/documents'); |
||
187 | exit; |
||
188 | } |
||
189 | |||
190 | $this->parameters['mainNavClass'] = 'documents'; |
||
191 | $this->parameters['folder'] = $folder; |
||
192 | } else if ($relativeCmsUri == '/documents/delete-document' && isset($request::$get['slug']) && in_array('documents', $userRights)) { |
||
193 | $this->storage->deleteDocumentBySlug($request::$get['slug']); |
||
194 | header('Location: ' . $request::$subfolders . $this->parameters['cmsPrefix'] . '/documents'); |
||
195 | exit; |
||
196 | } else if ($relativeCmsUri == '/documents/delete-folder' && isset($request::$get['slug']) && in_array('documents', $userRights)) { |
||
197 | $this->storage->deleteDocumentFolderBySlug($request::$get['slug']); |
||
198 | header('Location: ' . $request::$subfolders . $this->parameters['cmsPrefix'] . '/documents'); |
||
199 | exit; |
||
200 | } elseif ($relativeCmsUri == '/sitemap' && in_array('sitemap', $userRights)) { |
||
201 | $template = 'cms/sitemap'; |
||
202 | if (isset($request::$post['save'])) { |
||
203 | $this->storage->saveSitemap($request::$post); |
||
204 | } |
||
205 | $this->parameters['mainNavClass'] = 'sitemap'; |
||
206 | $this->parameters['sitemap'] = $this->storage->getSitemap(); |
||
207 | } elseif ($relativeCmsUri == '/sitemap/new' && in_array('sitemap', $userRights)) { |
||
208 | $template = 'cms/sitemap/form'; |
||
209 | $this->parameters['mainNavClass'] = 'sitemap'; |
||
210 | if (isset($request::$post['title'], $request::$post['template'], $request::$post['component'])) { |
||
211 | $this->storage->addSitemapItem($request::$post); |
||
212 | header('Location: ' . $request::$subfolders . $this->parameters['cmsPrefix'] . '/sitemap'); |
||
213 | exit; |
||
214 | } |
||
215 | } elseif ($relativeCmsUri == '/sitemap/edit' && isset($request::$get['slug']) && in_array('sitemap', $userRights)) { |
||
216 | $template = 'cms/sitemap/form'; |
||
217 | $this->parameters['mainNavClass'] = 'sitemap'; |
||
218 | $sitemapItem = $this->storage->getSitemapItemBySlug($request::$get['slug']); |
||
219 | if (isset($request::$post['title'], $request::$post['template'], $request::$post['component'])) { |
||
220 | $this->storage->saveSitemapItem($request::$get['slug'], $request::$post); |
||
221 | header('Location: ' . $request::$subfolders . $this->parameters['cmsPrefix'] . '/sitemap'); |
||
222 | exit; |
||
223 | } |
||
224 | $this->parameters['sitemapItem'] = $sitemapItem; |
||
225 | } elseif ($relativeCmsUri == '/sitemap/delete' && isset($request::$get['slug']) && in_array('sitemap', $userRights)) { |
||
226 | $this->storage->deleteSitemapItemBySlug($request::$get['slug']); |
||
227 | header('Location: ' . $request::$subfolders . $this->parameters['cmsPrefix'] . '/sitemap'); |
||
228 | exit; |
||
229 | } elseif ($relativeCmsUri == '/images' && in_array('images', $userRights)) { |
||
230 | $template = 'cms/images'; |
||
231 | $this->parameters['mainNavClass'] = 'images'; |
||
232 | $this->parameters['images'] = $this->storage->getImages(); |
||
233 | $this->parameters['smallestImage'] = $this->storage->getSmallestImageSet()->slug; |
||
234 | } elseif ($relativeCmsUri == '/images.json') { |
||
235 | header('Content-type:application/json'); |
||
236 | die(json_encode($this->storage->getImages())); |
||
237 | } elseif ($relativeCmsUri == '/images/new' && in_array('images', $userRights)) { |
||
238 | $template = 'cms/images/form'; |
||
239 | $this->parameters['mainNavClass'] = 'images'; |
||
240 | if (isset($_FILES['file'])) { |
||
241 | $this->storage->addImage($_FILES['file']); |
||
242 | header('Location: ' . $request::$subfolders . $this->parameters['cmsPrefix'] . '/images'); |
||
243 | exit; |
||
244 | } |
||
245 | } elseif ($relativeCmsUri == '/images/delete' && isset($request::$get['file']) && in_array('images', $userRights)) { |
||
246 | $this->storage->deleteImageByName($request::$get['file']); |
||
247 | header('Location: ' . $request::$subfolders . $this->parameters['cmsPrefix'] . '/images'); |
||
248 | exit; |
||
249 | } elseif ($relativeCmsUri == '/images/show' && isset($request::$get['file']) && in_array('images', $userRights)) { |
||
250 | $template = 'cms/images/show'; |
||
251 | $this->parameters['mainNavClass'] = 'images'; |
||
252 | $this->parameters['image'] = $this->storage->getImageByName($request::$get['file']); |
||
253 | } elseif ($relativeCmsUri == '/files' && in_array('files', $userRights)) { |
||
254 | $template = 'cms/files'; |
||
255 | $this->parameters['mainNavClass'] = 'files'; |
||
256 | $this->parameters['files'] = $this->storage->getFiles(); |
||
257 | } elseif ($relativeCmsUri == '/files.json') { |
||
258 | header('Content-type:application/json'); |
||
259 | die(json_encode($this->storage->getFiles())); |
||
260 | } elseif ($relativeCmsUri == '/files/new' && in_array('files', $userRights)) { |
||
261 | $template = 'cms/files/form'; |
||
262 | $this->parameters['mainNavClass'] = 'files'; |
||
263 | if (isset($_FILES['file'])) { |
||
264 | $this->storage->addFile($_FILES['file']); |
||
265 | header('Location: ' . $request::$subfolders . $this->parameters['cmsPrefix'] . '/files'); |
||
266 | exit; |
||
267 | } |
||
268 | } elseif ($relativeCmsUri == '/files/get' && isset($request::$get['file']) && in_array('files', $userRights)) { |
||
269 | $file = $this->storage->getFileByName($request::$get['file']); |
||
270 | $path = realpath(__DIR__ . '/../../www/files/'); |
||
271 | $quoted = sprintf('"%s"', addcslashes(basename($path . '/' . $file->file), '"\\')); |
||
272 | $size = filesize($path . '/' . $file->file); |
||
273 | |||
274 | header('Content-Description: File Transfer'); |
||
275 | header('Content-Type: ' . $file->type); |
||
276 | header('Content-Disposition: attachment; filename=' . $quoted); |
||
277 | header('Content-Transfer-Encoding: binary'); |
||
278 | header('Connection: Keep-Alive'); |
||
279 | header('Expires: 0'); |
||
280 | header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); |
||
281 | header('Pragma: public'); |
||
282 | header('Content-Length: ' . $size); |
||
283 | |||
284 | readfile($path . '/' . $file->file); |
||
285 | exit; |
||
286 | } elseif ($relativeCmsUri == '/files/delete' && isset($request::$get['file']) && in_array('files', $userRights)) { |
||
287 | $this->storage->deleteFileByName($request::$get['file']); |
||
288 | header('Location: ' . $request::$subfolders . $this->parameters['cmsPrefix'] . '/files'); |
||
289 | exit; |
||
290 | } elseif ($relativeCmsUri == '/configuration' && in_array('configuration', $userRights)) { |
||
291 | $template = 'cms/configuration'; |
||
292 | $this->parameters['mainNavClass'] = 'configuration'; |
||
293 | } elseif ($relativeCmsUri == '/configuration/users' && in_array('configuration', $userRights)) { |
||
294 | $template = 'cms/configuration/users'; |
||
295 | $this->parameters['mainNavClass'] = 'configuration'; |
||
296 | $this->parameters['users'] = $this->storage->getUsers(); |
||
297 | } elseif ($relativeCmsUri == '/configuration/users/new' && in_array('configuration', $userRights)) { |
||
298 | $template = 'cms/configuration/users-form'; |
||
299 | $this->parameters['mainNavClass'] = 'configuration'; |
||
300 | if (isset($_POST['username'])) { |
||
301 | $this->storage->addUser($request::$post); |
||
302 | header('Location: ' . $request::$subfolders . $this->parameters['cmsPrefix'] . '/configuration/users'); |
||
303 | exit; |
||
304 | } |
||
305 | } elseif ($relativeCmsUri == '/configuration/users/delete' && isset($request::$get['slug']) && in_array('configuration', $userRights)) { |
||
306 | $this->storage->deleteUserBySlug($request::$get['slug']); |
||
307 | header('Location: ' . $request::$subfolders . $this->parameters['cmsPrefix'] . '/configuration/users'); |
||
308 | exit; |
||
309 | } elseif ($relativeCmsUri == '/configuration/users/edit' && isset($request::$get['slug']) && in_array('configuration', $userRights)) { |
||
310 | $template = 'cms/configuration/users-form'; |
||
311 | $this->parameters['mainNavClass'] = 'configuration'; |
||
312 | $this->parameters['user'] = $this->storage->getUserBySlug($request::$get['slug']); |
||
313 | if (isset($_POST['username'])) { |
||
314 | $this->storage->saveUser($request::$get['slug'], $request::$post); |
||
315 | header('Location: ' . $request::$subfolders . $this->parameters['cmsPrefix'] . '/configuration/users'); |
||
316 | exit; |
||
317 | } |
||
318 | } elseif ($relativeCmsUri == '/configuration/document-types' && in_array('configuration', $userRights)) { |
||
319 | $template = 'cms/configuration/document-types'; |
||
320 | $this->parameters['mainNavClass'] = 'configuration'; |
||
321 | $this->parameters['documentTypes'] = $this->storage->getDocumentTypes(); |
||
322 | } elseif ($relativeCmsUri == '/configuration/document-types/new' && in_array('configuration', $userRights)) { |
||
323 | $template = 'cms/configuration/document-types-form'; |
||
324 | $this->parameters['mainNavClass'] = 'configuration'; |
||
325 | $bricks = $this->storage->getBricks(); |
||
326 | if (isset($request::$post['title'])) { |
||
327 | $this->storage->addDocumentType($request::$post); |
||
328 | header('Location: ' . $request::$subfolders . $this->parameters['cmsPrefix'] . '/configuration/document-types'); |
||
329 | exit; |
||
330 | } |
||
331 | $this->parameters['bricks'] = $bricks; |
||
332 | } elseif ($relativeCmsUri == '/configuration/document-types/edit' && isset($request::$get['slug']) && in_array('configuration', $userRights)) { |
||
333 | $template = 'cms/configuration/document-types-form'; |
||
334 | $this->parameters['mainNavClass'] = 'configuration'; |
||
335 | $documentType = $this->storage->getDocumentTypeBySlug($request::$get['slug'], false); |
||
336 | $bricks = $this->storage->getBricks(); |
||
337 | if (isset($request::$post['title'])) { |
||
338 | $this->storage->saveDocumentType($request::$get['slug'], $request::$post); |
||
339 | header('Location: ' . $request::$subfolders . $this->parameters['cmsPrefix'] . '/configuration/document-types'); |
||
340 | exit; |
||
341 | } |
||
342 | $this->parameters['documentType'] = $documentType; |
||
343 | $this->parameters['bricks'] = $bricks; |
||
344 | } elseif ($relativeCmsUri == '/configuration/document-types/delete' && isset($request::$get['slug']) && in_array('configuration', $userRights)) { |
||
345 | $this->storage->deleteDocumentTypeBySlug($request::$get['slug']); |
||
346 | header('Location: ' . $request::$subfolders . $this->parameters['cmsPrefix'] . '/configuration/document-types'); |
||
347 | exit; |
||
348 | } elseif ($relativeCmsUri == '/configuration/bricks' && in_array('configuration', $userRights)) { |
||
349 | $template = 'cms/configuration/bricks'; |
||
350 | $this->parameters['mainNavClass'] = 'configuration'; |
||
351 | $this->parameters['bricks'] = $this->storage->getBricks(); |
||
352 | } elseif ($relativeCmsUri == '/configuration/bricks/new' && in_array('configuration', $userRights)) { |
||
353 | $template = 'cms/configuration/bricks-form'; |
||
354 | $this->parameters['mainNavClass'] = 'configuration'; |
||
355 | if (isset($request::$post['title'])) { |
||
356 | $this->storage->addBrick($request::$post); |
||
357 | header('Location: ' . $request::$subfolders . $this->parameters['cmsPrefix'] . '/configuration/bricks'); |
||
358 | exit; |
||
359 | } |
||
360 | } elseif ($relativeCmsUri == '/configuration/bricks/edit' && isset($request::$get['slug']) && in_array('configuration', $userRights)) { |
||
361 | $template = 'cms/configuration/bricks-form'; |
||
362 | $this->parameters['mainNavClass'] = 'configuration'; |
||
363 | $brick = $this->storage->getBrickBySlug($request::$get['slug']); |
||
364 | if (isset($request::$post['title'])) { |
||
365 | $this->storage->saveBrick($request::$get['slug'], $request::$post); |
||
366 | header('Location: ' . $request::$subfolders . $this->parameters['cmsPrefix'] . '/configuration/bricks'); |
||
367 | exit; |
||
368 | } |
||
369 | $this->parameters['brick'] = $brick; |
||
370 | } elseif ($relativeCmsUri == '/configuration/bricks/delete' && isset($request::$get['slug']) && in_array('configuration', $userRights)) { |
||
371 | $this->storage->deleteBrickBySlug($request::$get['slug']); |
||
372 | header('Location: ' . $request::$subfolders . $this->parameters['cmsPrefix'] . '/configuration/bricks'); |
||
373 | exit; |
||
374 | } elseif ($relativeCmsUri == '/configuration/image-set' && in_array('configuration', $userRights)) { |
||
375 | $template = 'cms/configuration/image-set'; |
||
376 | $this->parameters['mainNavClass'] = 'configuration'; |
||
377 | $this->parameters['imageSet'] = $this->storage->getImageSet(); |
||
378 | } elseif ($relativeCmsUri == '/configuration/image-set/edit' && isset($request::$get['slug']) && in_array('configuration', $userRights)) { |
||
379 | $template = 'cms/configuration/image-set-form'; |
||
380 | $this->parameters['mainNavClass'] = 'configuration'; |
||
381 | $imageSet = $this->storage->getImageSetBySlug($request::$get['slug']); |
||
382 | if (isset($request::$post['title'])) { |
||
383 | $this->storage->saveImageSet($request::$get['slug'], $request::$post); |
||
384 | header('Location: ' . $request::$subfolders . $this->parameters['cmsPrefix'] . '/configuration/image-set'); |
||
385 | exit; |
||
386 | } |
||
387 | $this->parameters['imageSet'] = $imageSet; |
||
388 | } elseif ($relativeCmsUri == '/configuration/image-set/new' && in_array('configuration', $userRights)) { |
||
389 | $template = 'cms/configuration/image-set-form'; |
||
390 | $this->parameters['mainNavClass'] = 'configuration'; |
||
391 | if (isset($request::$post['title'])) { |
||
392 | $this->storage->addImageSet($request::$post); |
||
393 | header('Location: ' . $request::$subfolders . $this->parameters['cmsPrefix'] . '/configuration/image-set'); |
||
394 | exit; |
||
395 | } |
||
396 | } elseif ($relativeCmsUri == '/configuration/image-set/delete' && isset($request::$get['slug']) && in_array('configuration', $userRights)) { |
||
397 | $this->storage->deleteImageSetBySlug($request::$get['slug']); |
||
398 | header('Location: ' . $request::$subfolders . $this->parameters['cmsPrefix'] . '/configuration/image-set'); |
||
399 | exit; |
||
400 | } elseif ($relativeCmsUri == '/configuration/application-components' && in_array('configuration', $userRights)) { |
||
401 | $template = 'cms/configuration/application-components'; |
||
402 | $this->parameters['mainNavClass'] = 'configuration'; |
||
403 | $this->parameters['applicationComponents'] = $this->storage->getApplicationComponents(); |
||
404 | } elseif ($relativeCmsUri == '/configuration/application-components/new' && in_array('configuration', $userRights)) { |
||
405 | $template = 'cms/configuration/application-components-form'; |
||
406 | $this->parameters['mainNavClass'] = 'configuration'; |
||
407 | if (isset($request::$post['title'])) { |
||
408 | $this->storage->addApplicationComponent($request::$post); |
||
409 | header('Location: ' . $request::$subfolders . $this->parameters['cmsPrefix'] . '/configuration/application-components'); |
||
410 | exit; |
||
411 | } |
||
412 | } elseif ($relativeCmsUri == '/configuration/application-components/edit' && isset($request::$get['slug']) && in_array('configuration', $userRights)) { |
||
413 | $template = 'cms/configuration/application-components-form'; |
||
414 | $this->parameters['mainNavClass'] = 'configuration'; |
||
415 | $applicationComponent = $this->storage->getApplicationComponentBySlug($request::$get['slug']); |
||
416 | if (isset($request::$post['title'])) { |
||
417 | $this->storage->saveApplicationComponent($request::$get['slug'], $request::$post); |
||
418 | header('Location: ' . $request::$subfolders . $this->parameters['cmsPrefix'] . '/configuration/application-components'); |
||
419 | exit; |
||
420 | } |
||
421 | $this->parameters['applicationComponent'] = $applicationComponent; |
||
422 | } elseif ($relativeCmsUri == '/configuration/application-components/delete' && isset($request::$get['slug']) && in_array('configuration', $userRights)) { |
||
423 | $this->storage->deleteApplicationComponentBySlug($request::$get['slug']); |
||
424 | header('Location: ' . $request::$subfolders . $this->parameters['cmsPrefix'] . '/configuration/application-components'); |
||
425 | exit; |
||
426 | } elseif ($relativeCmsUri == '/log-off') { |
||
427 | $_SESSION['cloudcontrol'] = null; |
||
428 | unset($_SESSION['cloudcontrol']); |
||
429 | header('Location: ' . $request::$subfolders . $this->parameters['cmsPrefix']); |
||
430 | exit; |
||
431 | } |
||
432 | |||
433 | if ($template !== null) { |
||
434 | $this->parameters['body'] = $this->renderTemplate($template); |
||
435 | } |
||
436 | } |
||
437 | |||
460 | } |