Issues (2407)

application/controller/startup/router.php (3 issues)

1
<?php
2
3
/* 	Divine CMS - Open source CMS for widespread use.
4
    Copyright (c) 2019 Mykola Burakov ([email protected])
5
6
    See SOURCE.txt for other and additional information.
7
8
    This file is part of Divine CMS.
9
10
    This program is free software: you can redistribute it and/or modify
11
    it under the terms of the GNU General Public License as published by
12
    the Free Software Foundation, either version 3 of the License, or
13
    (at your option) any later version.
14
15
    This program is distributed in the hope that it will be useful,
16
    but WITHOUT ANY WARRANTY; without even the implied warranty of
17
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18
    GNU General Public License for more details.
19
20
    You should have received a copy of the GNU General Public License
21
    along with this program. If not, see <http://www.gnu.org/licenses/>. */
22
23
class ControllerStartupRouter extends \Divine\Engine\Core\Controller
0 ignored issues
show
Coding Style Compatibility introduced by
PSR1 recommends that each class must be in a namespace of at least one level to avoid collisions.

You can fix this by adding a namespace to your class:

namespace YourVendor;

class YourClass { }

When choosing a vendor namespace, try to pick something that is not too generic to avoid conflicts with other libraries.

Loading history...
24
{
25
    public function index()
0 ignored issues
show
Expected 2 blank lines before function; 0 found
Loading history...
26
    {
27
        // Route
28
        if ($this->request->get['route'] != 'startup/router') {
29
            $route = $this->request->get['route'];
30
        }
31
32
        // Sanitize the call
33
        $route = preg_replace('/[^a-zA-Z0-9_\/]/', '', (string)$route);
0 ignored issues
show
Comprehensibility Best Practice introduced by
The variable $route does not seem to be defined for all execution paths leading up to this point.
Loading history...
34
35
        // We dont want to use the loader class as it would make an controller callable.
36
        $action = new \Divine\Engine\Core\Action($route);
37
38
        // Any output needs to be another Action object.
39
        $output = $action->execute($this->registry);
40
41
        return $output;
42
    }
43
}
44