Events   A
last analyzed

Complexity

Total Complexity 6

Size/Duplication

Total Lines 36
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 0

Importance

Changes 0
Metric Value
wmc 6
lcom 0
cbo 0
dl 0
loc 36
rs 10
c 0
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
A onAdminMenuInit() 0 18 4
A addDiscordappFrame() 0 8 2
1
<?php
2
3
namespace humhub\modules\discordapp;
4
5
use Yii;
6
use yii\helpers\Url;
7
use yii\base\BaseObject;
8
use humhub\modules\ui\menu\MenuLink;
9
use humhub\modules\admin\widgets\AdminMenu;
10
use humhub\modules\admin\permissions\ManageModules;
11
12
class Events extends BaseObject
13
{
14
    /**
15
     * @param $event yii\base\Event
16
     */
17
    public static function onAdminMenuInit($event)
18
    {
19
        if (!Yii::$app->user->can(ManageModules::class)) {
20
            return;
21
        }
22
23
        /** @var AdminMenu $menu */
24
        $menu = $event->sender;
25
26
        $menu->addEntry(new MenuLink([
27
            'label' => Yii::t('DiscordappModule.base', 'Discord Settings'),
28
            'url' => Url::toRoute('/discordapp/admin/index'),
29
            'icon' => '<i class="fab fa-discord"></i>',
30
            'isActive' => Yii::$app->controller->module && Yii::$app->controller->module->id == 'discordapp' && Yii::$app->controller->id == 'admin',
31
            'sortOrder' => 650,
32
            'isVisible' => true,
33
        ]));
34
    }
35
36
    /**
37
     * @param $event yii\base\Event
38
     */
39
    public static function addDiscordappFrame($event)
40
    {
41
        if (Yii::$app->user->isGuest) {
42
            return;
43
        }
44
45
        $event->sender->addWidget(widgets\DiscordappFrame::class, [], ['sortOrder' => Yii::$app->getModule('discordapp')->settings->get('sortOrder')]);
46
    }
47
}
48