Passed
Branch master (3ad5d4)
by refat
26:57
created

AuthenticateMiddleware   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 27
Duplicated Lines 0 %

Importance

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

1 Method

Rating   Name   Duplication   Size   Complexity  
A handle() 0 25 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
      if (in_array($request, $pagesWhenLogout)) {
27
        return $app->url->redirectTo('/admin');
28
      }
29
    } else {
30
      if (!in_array($request, $pagesWhenLogout)) {
31
        return $app->url->redirectTo('/admin/login');
32
      }
33
    }
34
    return $next;
35
  }
36
}
37