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

AuthenticateMiddleware::handle()   A

Complexity

Conditions 4
Paths 4

Size

Total Lines 25
Code Lines 16

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 4
eloc 16
c 0
b 0
f 0
nc 4
nop 2
dl 0
loc 25
rs 9.7333
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