Passed
Push — develop ( 320e21...2f1f26 )
by Nikita
05:26
created

ServersController::settings()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 5
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 2
nc 1
nop 1
dl 0
loc 5
rs 10
c 0
b 0
f 0
1
<?php
2
3
namespace Gameap\Http\Controllers;
4
5
use Gameap\Http\Requests\ServerVarsRequest;
6
use Gameap\Models\Server;
7
use Gameap\Repositories\ServerRepository;
8
use Illuminate\Support\Facades\Auth;
9
10
class ServersController extends AuthController
11
{
12
    /**
13
     * The ServerRepository instance.
14
     *
15
     * @var \Gameap\Repositories\ServerRepository
16
     */
17
    protected $repository;
18
19
    /**
20
     * Create a new ServersController instance.
21
     *
22
     * @param ServerRepository $repository
23
     */
24
    public function __construct(ServerRepository $repository)
25
    {
26
        parent::__construct();
27
28
        $this->repository = $repository;
29
    }
30
31
    /**
32
     * Display a listing of the resource.
33
     *
34
     * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
35
     */
36
    public function index()
37
    {
38
        return view('servers.list',[
39
            'servers' => $this->repository->getServersForAuth()
40
        ]);
41
    }
42
43
    /**
44
     * Display the specified resource.
45
     *
46
     * @param  \Gameap\Models\Server  $server
47
     * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
48
     */
49
    public function show(Server $server)
50
    {
51
        $this->authorize('server-control', $server);
52
53
        return ($server->installed === $server::INSTALLED && $server->enabled && !$server->blocked) ?
54
            view('servers.view', compact('server'))
55
            : view('servers.not_active', compact('server'));
56
    }
57
58
    /**
59
     * @param Server $server
60
     * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
61
     */
62
    public function filemanager(Server $server)
63
    {
64
        $this->authorize('server-control', $server);
65
66
        return view('servers.filemanager', compact('server'));
67
    }
68
69
    /**
70
     * @param Server $server
71
     * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
72
     */
73
    public function settings(Server $server)
74
    {
75
        $this->authorize('server-control', $server);
76
77
        return view('servers.settings', compact('server'));
78
    }
79
80
    /**
81
     * @param ServerVarsRequest $request
82
     * @param Server $server
83
     * @return \Illuminate\Http\RedirectResponse
84
     */
85
    public function updateSettings(ServerVarsRequest $request, Server $server)
86
    {
87
        $this->authorize('server-control', $server);
88
89
        $this->repository->updateVars($server, $request);
90
91
        return redirect()->route('servers.settings', ['server' => $server->id])
92
            ->with('success', __('servers.update_success_msg'));
93
    }
94
}