Passed
Push — master ( e6d9c1...d3f2d9 )
by Alexey
02:34
created

Bootstrap::rulesFrontend()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 9
Code Lines 6

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 6
dl 0
loc 9
rs 10
c 0
b 0
f 0
cc 1
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
                'users' => 'users/default/index',
47
                'user/<id:\d+>/<_a:[\w\-]+>' => 'users/default/<_a>',
48
                'user/<_a:[\w\-]+>' => 'users/default/<_a>',
49
50
                'profile' => 'users/profile/index',
51
                'profile/<id:\d+>/<_a:[\w\-]+>' => 'users/profile/<_a>',
52
                'profile/<_a:[\w\-]+>' => 'users/profile/<_a>',
53
            ],
54
        ];
55
    }
56
57
    /**
58
     * Group rules frontend
59
     * @return array
60
     */
61
    protected function rulesFrontend()
62
    {
63
        return [
64
            'class' => 'yii\web\GroupUrlRule',
65
            'rules' => [
66
                'profile' => 'users/profile/index',
67
                'profile/<_a:[\w\-]+>' => 'users/profile/<_a>',
68
69
                '<_a:[\w\-]+>' => 'users/default/<_a>',
70
            ],
71
        ];
72
    }
73
}
74