BricksRouting::editRoute()   A
last analyzed

Complexity

Conditions 2
Paths 2

Size

Total Lines 12
Code Lines 9

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 2
eloc 9
nc 2
nop 2
dl 0
loc 12
rs 9.9666
c 0
b 0
f 0
1
<?php
2
/**
3
 * User: jensk
4
 * Date: 30-1-2017
5
 * Time: 13:27
6
 */
7
8
namespace CloudControl\Cms\components\cms\configuration;
9
10
use CloudControl\Cms\cc\Request;
11
use CloudControl\Cms\components\cms\CmsConstants;
12
use CloudControl\Cms\components\cms\CmsRouting;
13
use CloudControl\Cms\components\CmsComponent;
14
15
class BricksRouting extends CmsRouting
16
{
17
    protected static $routes = array(
18
        '/configuration/bricks' => 'overviewRoute',
19
        '/configuration/bricks/new' => 'newRoute',
20
        '/configuration/bricks/edit' => 'editRoute',
21
        '/configuration/bricks/delete' => 'deleteRoute',
22
    );
23
24
    /**
25
     * CmsRouting constructor.
26
     *
27
     * @param Request $request
28
     * @param string $relativeCmsUri
29
     * @param CmsComponent $cmsComponent
30
     * @throws \Exception
31
     */
32
    public function __construct(Request $request, $relativeCmsUri, CmsComponent $cmsComponent)
33
    {
34
        $this->doRouting($request, $relativeCmsUri, $cmsComponent);
35
    }
36
37
    /**
38
     * @param Request $request
39
     * @param CmsComponent $cmsComponent
40
     */
41
    protected function overviewRoute(/** @scrutinizer ignore-unused */ $request, $cmsComponent)
42
    {
43
        $cmsComponent->subTemplate = 'configuration/bricks';
44
        $cmsComponent->setParameter(CmsConstants::PARAMETER_MAIN_NAV_CLASS, CmsConstants::PARAMETER_CONFIGURATION);
45
        $cmsComponent->setParameter(CmsConstants::PARAMETER_BRICKS, $cmsComponent->storage->getBricks()->getBricks());
46
    }
47
48
    /**
49
     * @param Request $request
50
     * @param CmsComponent $cmsComponent
51
     * @throws \Exception
52
     */
53
    protected function newRoute($request, $cmsComponent)
54
    {
55
        $cmsComponent->subTemplate = 'configuration/bricks-form';
56
        $cmsComponent->setParameter(CmsConstants::PARAMETER_MAIN_NAV_CLASS, CmsConstants::PARAMETER_CONFIGURATION);
57
        if (isset($request::$post[CmsConstants::POST_PARAMETER_TITLE])) {
58
            $cmsComponent->storage->getBricks()->addBrick($request::$post);
59
            header('Location: ' . $request::$subfolders . $cmsComponent->getParameter(CmsConstants::PARAMETER_CMS_PREFIX) . '/configuration/bricks');
60
            exit;
61
        }
62
    }
63
64
    /**
65
     * @param Request $request
66
     * @param CmsComponent $cmsComponent
67
     * @throws \Exception
68
     */
69
    protected function editRoute($request, $cmsComponent)
70
    {
71
        $cmsComponent->subTemplate = 'configuration/bricks-form';
72
        $cmsComponent->setParameter(CmsConstants::PARAMETER_MAIN_NAV_CLASS, CmsConstants::PARAMETER_CONFIGURATION);
73
        $brick = $cmsComponent->storage->getBricks()->getBrickBySlug($request::$get[CmsConstants::GET_PARAMETER_SLUG]);
74
        if (isset($request::$post[CmsConstants::POST_PARAMETER_TITLE])) {
75
            $cmsComponent->storage->getBricks()->saveBrick($request::$get[CmsConstants::GET_PARAMETER_SLUG],
76
                $request::$post);
77
            header('Location: ' . $request::$subfolders . $cmsComponent->getParameter(CmsConstants::PARAMETER_CMS_PREFIX) . '/configuration/bricks');
78
            exit;
79
        }
80
        $cmsComponent->setParameter(CmsConstants::PARAMETER_BRICK, $brick);
81
    }
82
83
    /**
84
     * @param Request $request
85
     * @param CmsComponent $cmsComponent
86
     * @throws \Exception
87
     */
88
    protected function deleteRoute($request, $cmsComponent)
89
    {
90
        $cmsComponent->storage->getBricks()->deleteBrickBySlug($request::$get[CmsConstants::GET_PARAMETER_SLUG]);
91
        header('Location: ' . $request::$subfolders . $cmsComponent->getParameter(CmsConstants::PARAMETER_CMS_PREFIX) . '/configuration/bricks');
92
        exit;
93
    }
94
}