Controller   A
last analyzed

Complexity

Total Complexity 7

Size/Duplication

Total Lines 39
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 14
dl 0
loc 39
ccs 15
cts 15
cp 1
rs 10
c 1
b 0
f 0
wmc 7

4 Methods

Rating   Name   Duplication   Size   Complexity  
A getItemsPerPage() 0 3 1
A changeLanguage() 0 4 1
A addFlashMessage() 0 8 3
A returnBack() 0 10 2
1
<?php
2
3
namespace App\Http\Controllers;
4
5
use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
6
use Illuminate\Foundation\Bus\DispatchesJobs;
7
use Illuminate\Foundation\Validation\ValidatesRequests;
8
use Illuminate\Routing\Controller as BaseController;
9
use Illuminate\Support\Facades\Log;
10
use Illuminate\Support\Facades\Session;
11
12
class Controller extends BaseController
13
{
14
    use AuthorizesRequests;
15
    use DispatchesJobs;
16
    use ValidatesRequests;
17
18 69
    protected function getItemsPerPage()
19
    {
20 69
        return 20;
21
    }
22
23 38
    protected function addFlashMessage($message, $alertClass = null)
24
    {
25
        // Display only one message
26 38
        if (!Session::has('message')) {
27 37
            Session::flash('message', $message);
28
29 37
            if ($alertClass) {
30 37
                Session::flash('alert-class', $alertClass);
31
            }
32
        }
33 38
    }
34
35 21
    protected function returnBack($data)
36
    {
37
        // Prevent infinite loop
38 21
        if (back()->getTargetUrl() === url()->current()) {
39 1
            Log::info('Request loop: '.back()->getTargetUrl());
40
41 1
            return redirect(route('room.index'))->with($data);
42
        }
43
44 20
        return back()->with($data);
45
    }
46
47 3
    public function changeLanguage($language)
48
    {
49
        // 90 days in minutes
50 3
        return back()->cookie('lang', $language, 129600);
51
    }
52
}
53