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

AuthenticateMiddleware   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 33
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 17
dl 0
loc 33
rs 10
c 0
b 0
f 0
wmc 4

1 Method

Rating   Name   Duplication   Size   Complexity  
A handle() 0 31 4
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
}