ThemeMiddleware   A
last analyzed

Complexity

Total Complexity 1

Size/Duplication

Total Lines 22
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 3

Importance

Changes 0
Metric Value
wmc 1
lcom 0
cbo 3
dl 0
loc 22
rs 10
c 0
b 0
f 0

1 Method

Rating   Name   Duplication   Size   Complexity  
A __invoke() 0 9 1
1
<?php
2
/**
3
 * CakeCMS Core
4
 *
5
 * This file is part of the of the simple cms based on CakePHP 3.
6
 * For the full copyright and license information, please view the LICENSE
7
 * file that was distributed with this source code.
8
 *
9
 * @package     Core
10
 * @license     MIT
11
 * @copyright   MIT License http://www.opensource.org/licenses/mit-license.php
12
 * @link        https://github.com/CakeCMS/Core".
13
 * @author      Sergey Kalistratov <[email protected]>
14
 */
15
16
namespace Core\View\Middleware;
17
18
use Core\Theme;
19
use Core\Core\Plugin;
20
use Cake\Http\Runner;
21
use Cake\Http\Response;
22
use Cake\Http\ServerRequest;
23
24
/**
25
 * Class ThemeMiddleware
26
 *
27
 * @package Core\View\Middleware
28
 */
29
class ThemeMiddleware
30
{
31
32
    /**
33
     * Serve assets if the path matches one.
34
     *
35
     * @param   ServerRequest   $request
36
     * @param   Response        $response
37
     * @param   Runner          $next
38
     *
39
     * @return  mixed
40
     */
41
    public function __invoke($request, $response, $next)
42
    {
43
        $theme    = Theme::setup($request->getParam('prefix'));
44
        $request  = $request->withParam('theme', $theme);
45
        $response = $next($request, $response);
46
47
        Plugin::isLoaded($theme);
48
        return $response;
49
    }
50
}
51