Passed
Push — master ( 6e001a...bf3cf2 )
by refat
04:12
created

AuthenticateMiddleware::handle()   A

Complexity

Conditions 4
Paths 4

Size

Total Lines 31
Code Lines 16

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 4
eloc 16
nc 4
nop 2
dl 0
loc 31
rs 9.7333
c 0
b 0
f 0
1
<?php
2
3
namespace App\Middlewares;
4
5
use System\Application;
6
use App\Middlewares\MiddlewareIntrerface\MiddlewaresInterface as Middleware;
7
8
class AuthenticateMiddleware implements Middleware
9
{
10
  public function handle(Application $app, $next)
11
  {
12
    $request = $app->request->url();
13
14
    $login = $app->load->model('Login');
15
16
    $pagesWhenLogout = [
17
      '/login',
18
      '/login/submit',
19
      '/registration',
20
      '/registration/submit',
21
      '/admin/login',
22
      '/admin/submit',
23
    ];
24
25
    if ($login->isLogged()) {
26
27
      if (in_array($request, $pagesWhenLogout)) {
28
29
        $app->url->redirectTo('/');
30
      }
31
32
    } else {
33
34
      if (!in_array($request, $pagesWhenLogout)) {
35
36
        $app->url->redirectTo('/');
37
      }
38
    }
39
40
    return $next;
41
  }
42
}