Bootstrap::__construct()   A
last analyzed

Complexity

Conditions 2
Paths 1

Size

Total Lines 6
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 1
Metric Value
eloc 3
c 1
b 0
f 1
dl 0
loc 6
rs 10
cc 2
nc 1
nop 0
1
<?php
2
3
namespace modules\users;
4
5
use Yii;
6
7
/**
8
 * Class Bootstrap
9
 * @package modules\users
10
 */
11
class Bootstrap
12
{
13
    public function __construct()
14
    {
15
        $this->registerTranslate();
16
17
        $urlManager = Yii::$app->urlManager;
18
        $urlManager->addRules((Yii::$app->id === 'app-backend') ? [$this->rulesBackend()] : [$this->rulesFrontend()]);
19
    }
20
21
    /**
22
     * Translate
23
     */
24
    protected function registerTranslate()
25
    {
26
        $i18n = Yii::$app->i18n;
27
        $i18n->translations['modules/users/*'] = [
28
            'class' => 'yii\i18n\PhpMessageSource',
29
            'basePath' => '@modules/users/messages',
30
            'fileMap' => [
31
                'modules/users/module' => 'module.php',
32
                'modules/users/mail' => 'mail.php',
33
            ],
34
        ];
35
    }
36
37
    /**
38
     * Group rules backend
39
     * @return array
40
     */
41
    protected function rulesBackend()
42
    {
43
        return [
44
            'class' => 'yii\web\GroupUrlRule',
45
            'rules' => [
46
                'login' => 'users/default/login',
47
                'logout' => 'users/default/logout',
48
                'users' => 'users/default/index',
49
                'user/<id:\d+>/<_a:[\w\-]+>' => 'users/default/<_a>',
50
                'user/<_a:[\w\-]+>' => 'users/default/<_a>',
51
52
                'profile' => 'users/profile/index',
53
                'profile/<id:\d+>/<_a:[\w\-]+>' => 'users/profile/<_a>',
54
                'profile/<_a:[\w\-]+>' => 'users/profile/<_a>',
55
            ],
56
        ];
57
    }
58
59
    /**
60
     * Group rules frontend
61
     * @return array
62
     */
63
    protected function rulesFrontend()
64
    {
65
        return [
66
            'class' => 'yii\web\GroupUrlRule',
67
            'rules' => [
68
                'profile' => 'users/profile/index',
69
                'profile/<_a:[\w\-]+>' => 'users/profile/<_a>',
70
71
                'email-confirm' => 'users/default/email-confirm',
72
                'user/<_a:[\w\-]+>' => 'users/default/<_a>',
73
            ],
74
        ];
75
    }
76
}
77