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

RedirectRouting::editRoute()   A

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.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 RedirectRouting extends CmsRouting
13
{
14
15
    protected static $routes = array(
16
        '/redirects' => 'overviewRoute',
17
        '/redirects/new' => 'newRoute',
18
        '/redirects/edit' => 'editRoute',
19
        '/redirects/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
    protected function overviewRoute(Request $request, CmsComponent $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

35
    protected function overviewRoute(/** @scrutinizer ignore-unused */ Request $request, CmsComponent $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...
36
    {
37
        $cmsComponent->subTemplate = 'redirects';
38
        $cmsComponent->setParameter(CmsConstants::PARAMETER_MAIN_NAV_CLASS, CmsConstants::PARAMETER_REDIRECTS);
39
        $cmsComponent->setParameter(CmsConstants::PARAMETER_REDIRECTS,
40
            $cmsComponent->storage->getRedirects()->getRedirects());
41
    }
42
43
    protected function newRoute(Request $request, CmsComponent $cmsComponent)
44
    {
45
        $cmsComponent->subTemplate = 'redirects/form';
46
        $cmsComponent->setParameter(CmsConstants::PARAMETER_MAIN_NAV_CLASS, CmsConstants::PARAMETER_REDIRECTS);
47
        if (isset($request::$post[CmsConstants::POST_PARAMETER_TITLE], $request::$post[CmsConstants::POST_PARAMETER_FROM_URL], $request::$post[CmsConstants::POST_PARAMETER_TO_URL])) {
48
            $cmsComponent->storage->getRedirects()->addRedirect($request::$post);
49
            header('Location: ' . $request::$subfolders . $cmsComponent->getParameter(CmsConstants::PARAMETER_CMS_PREFIX) . '/redirects');
50
            exit;
51
        }
52
    }
53
54
    protected function editRoute(Request $request, CmsComponent $cmsComponent)
55
    {
56
        $cmsComponent->subTemplate = 'redirects/form';
57
        $cmsComponent->setParameter(CmsConstants::PARAMETER_MAIN_NAV_CLASS, CmsConstants::PARAMETER_REDIRECTS);
58
        $redirect = $cmsComponent->storage->getRedirects()->getRedirectBySlug($request::$get[CmsConstants::GET_PARAMETER_SLUG]);
59
        if (isset($request::$post[CmsConstants::POST_PARAMETER_TITLE], $request::$post[CmsConstants::POST_PARAMETER_FROM_URL], $request::$post[CmsConstants::POST_PARAMETER_TO_URL])) {
60
            $cmsComponent->storage->getRedirects()->saveRedirect($request::$get[CmsConstants::GET_PARAMETER_SLUG],
61
                $request::$post);
62
            header('Location: ' . $request::$subfolders . $cmsComponent->getParameter(CmsConstants::PARAMETER_CMS_PREFIX) . '/redirects');
63
            exit;
64
        }
65
        $cmsComponent->setParameter(CmsConstants::PARAMETER_REDIRECT, $redirect);
66
    }
67
68
    protected function deleteRoute(Request $request, CmsComponent $cmsComponent)
69
    {
70
        $cmsComponent->storage->getRedirects()->deleteRedirectBySlug($request::$get[CmsConstants::GET_PARAMETER_SLUG]);
71
        header('Location: ' . $request::$subfolders . $cmsComponent->getParameter(CmsConstants::PARAMETER_CMS_PREFIX) . '/redirects');
72
        exit;
73
    }
74
}