SudoModeOnLoginExtension   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 15
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 5
c 1
b 0
f 0
dl 0
loc 15
rs 10
wmc 2

1 Method

Rating   Name   Duplication   Size   Complexity  
A afterLogin() 0 10 2
1
<?php
2
3
declare(strict_types=1);
4
5
namespace SilverStripe\SecurityExtensions\Extension;
6
7
use SilverStripe\Control\HTTPRequest;
8
use SilverStripe\Core\Extension;
9
use SilverStripe\Core\Injector\Injector;
10
use SilverStripe\SecurityExtensions\Service\SudoModeServiceInterface;
11
12
class SudoModeOnLoginExtension extends Extension
13
{
14
    /**
15
     * Activates sudo mode on a successful log in
16
     */
17
    public function afterLogin(): void
18
    {
19
        if (Injector::inst()->has(HTTPRequest::class)) {
20
            /** @var SudoModeServiceInterface $service */
21
            $service = Injector::inst()->get(SudoModeServiceInterface::class);
22
23
            /** @var HTTPRequest $request */
24
            $request = Injector::inst()->get(HTTPRequest::class);
25
26
            $service->activate($request->getSession());
27
        }
28
    }
29
}
30