Completed
Push — master ( 8cd0e9...104c30 )
by David
02:53
created

BaseController::getUser()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 4
rs 10
cc 2
eloc 2
nc 2
nop 0
1
<?php namespace Taskforcedev\LaravelForum\Http\Controllers;
2
3
use \Auth;
4
use \Schema;
5
use Taskforcedev\LaravelSupport\Http\Controllers\Controller;
6
use Taskforcedev\LaravelForum\ForumCategory;
7
use Taskforcedev\LaravelForum\Helpers\UserHelper;
8
use Taskforcedev\LaravelForum\Database\Migrator;
9
use Taskforcedev\LaravelForum\Helpers\Sanitizer;
10
11
/**
12
 * Class BaseController
13
 * @package Taskforcedev\LaravelForum\Http\Controllers
14
 */
15
class BaseController extends Controller
16
{
17
    public $sanitizer;
18
19
    public function __construct()
20
    {
21
        $this->sanitizer = new Sanitizer();
22
23
        $migrator = new Migrator();
24
        $migrator->migrate();
25
    }
26
27
    /**
28
     * Gets the modal type preference from config.
29
     * @return mixed
30
     */
31
    public function getModalType()
32
    {
33
        return config('laravel-forum.modal.type');
34
    }
35
36
    /**
37
     * Determine if the user can moderate the forums.
38
     * @return boolean
39
     */
40
    protected function canModerate()
41
    {
42
        $user = $this->getUser();
43
44
        if ($user->name == 'Guest' && $user->email == '[email protected]') {
45
            return false;
46
        }
47
48
        if (method_exists($user, 'can')) {
49
            return $user->can('forum-moderate');
50
        }
51
52
        // If no method of authorizing return false;
53
        return false;
54
    }
55
56
    /**
57
     * Builds data required for views.
58
     * @return array
59
     */
60
    protected function buildData()
61
    {
62
        return [
63
            'user' => $this->getUser(),
64
            'layout' => $this->getLayout(),
65
            'categories' => ForumCategory::with('forums')->get(),
66
            'sitename' => config('laravel-forum.sitename'),
67
            'wysiwyg' => config('laravel-forum.wysiwyg'),
68
            'sanitizer' => $this->sanitizer,
69
            'userHelper' => new UserHelper()
70
        ];
71
    }
72
}
73