Passed
Push — develop ( 4b65e1...8da09c )
by Jens
02:48
created

ValuelistRouting::overviewRoute()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 6
Code Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 4
nc 1
nop 2
dl 0
loc 6
rs 9.4285
c 0
b 0
f 0
1
<?php
2
/**
3
 * Created by jensk on 4-9-2017.
4
 */
5
6
namespace CloudControl\Cms\components\cms;
7
8
9
use CloudControl\Cms\cc\Request;
10
use CloudControl\Cms\components\CmsComponent;
11
12
class ValuelistRouting extends CmsRouting
13
{
14
15
    protected static $routes = array(
16
        '/valuelists' => 'overviewRoute',
17
        '/valuelists/new' => 'newRoute',
18
        '/valuelists/edit' => 'editRoute',
19
        '/valuelists/delete' => 'deleteRoute',
20
    );
21
22
    /**
23
     * CmsRouting constructor.
24
     *
25
     * @param Request $request
26
     * @param string $relativeCmsUri
27
     * @param CmsComponent $cmsComponent
28
     * @throws \Exception
29
     */
30
    public function __construct(Request $request, $relativeCmsUri, CmsComponent $cmsComponent)
31
    {
32
        $this->doRouting($request, $relativeCmsUri, $cmsComponent);
33
    }
34
35
    /**
36
     * @param Request $request
37
     * @param CmsComponent $cmsComponent
38
     */
39
    protected function overviewRoute($request, $cmsComponent)
0 ignored issues
show
Unused Code introduced by
The parameter $request is not used and could be removed. ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-unused  annotation

39
    protected function overviewRoute(/** @scrutinizer ignore-unused */ $request, $cmsComponent)

This check looks for parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
40
    {
41
        $cmsComponent->subTemplate = 'valuelists';
42
        $cmsComponent->setParameter(CmsConstants::PARAMETER_VALUELISTS,
43
            $cmsComponent->storage->getValuelists()->getValuelists());
44
        $cmsComponent->setParameter(CmsConstants::PARAMETER_MAIN_NAV_CLASS, CmsConstants::PARAMETER_VALUELISTS);
45
    }
46
47
    /**
48
     * @param Request $request
49
     * @param CmsComponent $cmsComponent
50
     */
51
    protected function newRoute($request, $cmsComponent)
52
    {
53
        $cmsComponent->subTemplate = 'valuelists/form';
54
        $cmsComponent->setParameter(CmsConstants::PARAMETER_MAIN_NAV_CLASS, CmsConstants::PARAMETER_VALUELISTS);
55
        if (isset($request::$post[CmsConstants::POST_PARAMETER_TITLE])) {
56
            $slug = $cmsComponent->storage->getValuelists()->addValuelist($request::$post);
57
            $docLink = $request::$subfolders . $cmsComponent->getParameter(CmsConstants::PARAMETER_CMS_PREFIX) . '/valuelists/edit?slug=' . $slug;
58
            $cmsComponent->storage->getActivityLog()->add('created valuelist <a href="' . $docLink . '">' . $request::$post[CmsConstants::POST_PARAMETER_TITLE] . '</a>',
59
                'plus');
60
            header('Location: ' . $request::$subfolders . $cmsComponent->getParameter(CmsConstants::PARAMETER_CMS_PREFIX) . '/valuelists');
61
            exit;
62
        }
63
    }
64
65
    /**
66
     * @param Request $request
67
     * @param CmsComponent $cmsComponent
68
     * @throws \Exception
69
     */
70
    protected function editRoute($request, $cmsComponent)
71
    {
72
        $cmsComponent->subTemplate = 'valuelists/form';
73
        $folder = $cmsComponent->storage->getValuelists()->getValuelistBySlug($request::$get[CmsConstants::GET_PARAMETER_SLUG]);
74
75
        if (isset($request::$post[CmsConstants::POST_PARAMETER_TITLE], $request::$get[CmsConstants::GET_PARAMETER_SLUG])) {
76
            $cmsComponent->storage->getValuelists()->saveValuelist($request::$get[CmsConstants::GET_PARAMETER_SLUG],
77
                $request::$post);
78
            $docLink = $request::$subfolders . $cmsComponent->getParameter(CmsConstants::PARAMETER_CMS_PREFIX) . '/valuelists/edit?slug=' . $request::$get[CmsConstants::GET_PARAMETER_SLUG];
79
            $cmsComponent->storage->getActivityLog()->add('edited valuelist <a href="' . $docLink . '">' . $request::$post[CmsConstants::POST_PARAMETER_TITLE] . '</a>',
80
                'pencil');
81
            header('Location: ' . $request::$subfolders . $cmsComponent->getParameter(CmsConstants::PARAMETER_CMS_PREFIX) . '/valuelists');
82
            exit;
83
        }
84
85
        $cmsComponent->setParameter(CmsConstants::PARAMETER_MAIN_NAV_CLASS, CmsConstants::PARAMETER_VALUELISTS);
86
        $cmsComponent->setParameter(CmsConstants::PARAMETER_VALUELIST, $folder);
87
    }
88
89
    /**
90
     * @param Request $request
91
     * @param CmsComponent $cmsComponent
92
     * @throws \Exception
93
     */
94
    protected function deleteRoute($request, $cmsComponent)
95
    {
96
        $cmsComponent->storage->getValuelists()->deleteValuelistBySlug($request::$get[CmsConstants::GET_PARAMETER_SLUG]);
97
        $cmsComponent->storage->getActivityLog()->add('deleted valuelist ' . $request::$get[CmsConstants::GET_PARAMETER_SLUG],
98
            'trash');
99
        header('Location: ' . $request::$subfolders . $cmsComponent->getParameter(CmsConstants::PARAMETER_CMS_PREFIX) . '/valuelists');
100
        exit;
101
    }
102
}