Completed
Pull Request — master (#29)
by Sarah
01:09
created

Events::onSpaceAdminMenuInit()   A

Complexity

Conditions 6
Paths 8

Size

Total Lines 18

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 18
rs 9.0444
c 0
b 0
f 0
cc 6
nc 8
nop 1
1
<?php
2
3
namespace humhub\modules\discordapp;
4
5
use Yii;
6
use yii\helpers\Url;
7
use humhub\modules\discordapp\widgets\DiscordappFrame;
8
use yii\base\BaseObject;
9
use humhub\models\Setting;
10
11
class Events extends BaseObject
12
{
13
14
    public static function onAdminMenuInit($event)
15
    {
16
        $event->sender->addItem([
17
            'label' => Yii::t('DiscordappModule.base', 'Discord Settings'),
18
            'url' => Url::toRoute('/discordapp/admin/index'),
19
            'group' => 'settings',
20
            'icon' => '<i class="fab fa-discord"></i>',
21
            'isActive' => Yii::$app->controller->module && Yii::$app->controller->module->id == 'discordapp' && Yii::$app->controller->id == 'admin',
22
            'sortOrder' => 650
23
        ]);
24
    }
25
26
    public static function onSpaceAdminMenuInit($event)
27
    {
28
        $space = $event->sender->space;
29
        
30
        $isSpaceAdmin = version_compare(Yii::$app->version, '1.2.6', 'lt') ? 
31
                $space->getUserGroup() === \humhub\modules\space\models\Space::USERGROUP_ADMIN || $space->getUserGroup() === \humhub\modules\space\models\Space::USERGROUP_OWNER
32
                : $space->isAdmin(Yii::$app->user->id);
33
        if ($isSpaceAdmin) {
34
            $event->sender->addItem([
35
                'label' => Yii::t('DiscordappModule.base', 'Discord Settings'),
36
                'url' => $space->createUrl('/discordapp/space-admin/index'),
37
                'group' => 'admin',
38
                'icon' => '<i class="fab fa-discord"></i>',
39
                'isActive' => (Yii::$app->controller->module && Yii::$app->controller->module->id == 'discordapp' && Yii::$app->controller->id == 'space-admin'),
40
                'sortOrder' => 510,
41
            ]);
42
        }
43
    }
44
45
    public static function addDiscordappFrame($event)
46
    {
47
        if (Yii::$app->user->isGuest) {
48
            return;
49
        }
50
        $event->sender->view->registerAssetBundle(Assets::class);
51
        $event->sender->addWidget(DiscordappFrame::class, [], [
52
            'sortOrder' => Setting::Get('timeout', 'discordapp')
53
        ]);
54
    }
55
}
56