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

UsersRouting::__construct()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 1
nc 1
nop 3
dl 0
loc 3
rs 10
c 0
b 0
f 0
1
<?php
2
/**
3
 * Created by IntelliJ IDEA.
4
 * User: jensk
5
 * Date: 30-1-2017
6
 * Time: 13:08
7
 */
8
9
namespace CloudControl\Cms\components\cms\configuration;
10
11
12
use CloudControl\Cms\cc\Request;
13
use CloudControl\Cms\components\cms\CmsConstants;
14
use CloudControl\Cms\components\cms\CmsRouting;
15
use CloudControl\Cms\components\CmsComponent;
16
17
class UsersRouting extends CmsRouting
18
{
19
20
    protected static $routes = array(
21
        '/configuration/users' => 'overviewRoute',
22
        '/configuration/users/new' => 'newRoute',
23
        '/configuration/users/edit' => 'editRoute',
24
        '/configuration/users/delete' => 'deleteRoute',
25
    );
26
27
    /**
28
     * CmsRouting constructor.
29
     *
30
     * @param Request $request
31
     * @param string $relativeCmsUri
32
     * @param CmsComponent $cmsComponent
33
     * @throws \Exception
34
     */
35
    public function __construct(Request $request, $relativeCmsUri, CmsComponent $cmsComponent)
36
    {
37
        $this->doRouting($request, $relativeCmsUri, $cmsComponent);
38
    }
39
40
    /**
41
     * @param $request
42
     * @param CmsComponent $cmsComponent
43
     */
44
    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

44
    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...
45
    {
46
        $cmsComponent->subTemplate = 'configuration/users';
47
        $cmsComponent->setParameter(CmsConstants::PARAMETER_MAIN_NAV_CLASS, CmsConstants::PARAMETER_CONFIGURATION);
48
        $cmsComponent->setParameter(CmsConstants::PARAMETER_USERS, $cmsComponent->storage->getUsers()->getUsers());
49
    }
50
51
    /**
52
     * @param Request $request
53
     * @param CmsComponent $cmsComponent
54
     * @throws \Exception
55
     */
56
    protected function newRoute($request, $cmsComponent)
57
    {
58
        $cmsComponent->subTemplate = 'configuration/users-form';
59
        $cmsComponent->setParameter(CmsConstants::PARAMETER_MAIN_NAV_CLASS, CmsConstants::PARAMETER_CONFIGURATION);
60
        if (isset($request::$post[CmsConstants::POST_PARAMETER_USERNAME])) {
61
            $cmsComponent->storage->getUsers()->addUser($request::$post);
62
            header('Location: ' . $request::$subfolders . $cmsComponent->getParameter(CmsConstants::PARAMETER_CMS_PREFIX) . '/configuration/users');
63
            exit;
64
        }
65
    }
66
67
    /**
68
     * @param Request $request
69
     * @param CmsComponent $cmsComponent
70
     * @throws \Exception
71
     */
72
    protected function deleteRoute($request, $cmsComponent)
73
    {
74
        $cmsComponent->storage->getUsers()->deleteUserBySlug($request::$get[CmsConstants::GET_PARAMETER_SLUG]);
75
        header('Location: ' . $request::$subfolders . $cmsComponent->getParameter(CmsConstants::PARAMETER_CMS_PREFIX) . '/configuration/users');
76
        exit;
77
    }
78
79
    /**
80
     * @param Request $request
81
     * @param CmsComponent $cmsComponent
82
     * @throws \Exception
83
     */
84
    protected function editRoute($request, $cmsComponent)
85
    {
86
        $cmsComponent->subTemplate = 'configuration/users-form';
87
        $cmsComponent->setParameter(CmsConstants::PARAMETER_MAIN_NAV_CLASS, CmsConstants::PARAMETER_CONFIGURATION);
88
        $cmsComponent->setParameter(CmsConstants::PARAMETER_USER,
89
            $cmsComponent->storage->getUsers()->getUserBySlug($request::$get[CmsConstants::GET_PARAMETER_SLUG]));
90
        if (isset($_POST[CmsConstants::POST_PARAMETER_USERNAME])) {
91
            $cmsComponent->storage->getUsers()->saveUser($request::$get[CmsConstants::GET_PARAMETER_SLUG],
92
                $request::$post);
93
            header('Location: ' . $request::$subfolders . /** @scrutinizer ignore-type */
94
                $cmsComponent->getParameter(CmsConstants::PARAMETER_CMS_PREFIX) . '/configuration/users');
95
            exit;
96
        }
97
    }
98
}