SudoModeOnLoginExtension::afterLogin()   A
last analyzed

Complexity

Conditions 2
Paths 2

Size

Total Lines 10
Code Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 2
eloc 4
c 1
b 0
f 0
nc 2
nop 0
dl 0
loc 10
rs 10
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