Main::hookUserRolePermissions()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 7
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 7
rs 9.4285
c 0
b 0
f 0
cc 1
eloc 5
nc 1
nop 1
1
<?php
2
3
/**
4
 * @package Translator
5
 * @author Iurii Makukh <[email protected]>
6
 * @copyright Copyright (c) 2017, Iurii Makukh <[email protected]>
7
 * @license https://www.gnu.org/licenses/gpl-3.0.en.html GPL-3.0+
8
 */
9
10
namespace gplcart\modules\translator;
11
12
use gplcart\core\Container;
13
14
/**
15
 * Main class for Translator module
16
 */
17
class Main
18
{
19
20
    /**
21
     * Implements hook "route.list"
22
     * @param array $routes
23
     */
24
    public function hookRouteList(array &$routes)
25
    {
26
        $routes['admin/tool/translator'] = array(
27
            'menu' => array(
28
                'admin' => 'Translator' // @text
29
            ),
30
            'access' => 'module_translator',
31
            'handlers' => array(
32
                'controller' => array('gplcart\\modules\\translator\\controllers\\Translator', 'filesTranslator')
33
            )
34
        );
35
36
        $routes['admin/tool/translator/(\w+)'] = array(
37
            'access' => 'module_translator',
38
            'handlers' => array(
39
                'controller' => array('gplcart\\modules\\translator\\controllers\\Translator', 'filesTranslator')
40
            )
41
        );
42
43
        $routes['admin/tool/translator/(\w+)/compiled'] = array(
44
            'access' => 'module_translator',
45
            'handlers' => array(
46
                'controller' => array('gplcart\\modules\\translator\\controllers\\Translator', 'compiledFilesTranslator')
47
            )
48
        );
49
50
        $routes['admin/tool/translator/(\w+)/upload'] = array(
51
            'access' => 'module_translator_upload',
52
            'handlers' => array(
53
                'controller' => array('gplcart\\modules\\translator\\controllers\\Translator', 'uploadTranslator')
54
            )
55
        );
56
57
        $routes['admin/tool/translator/(\w+)/view/([^/]+)'] = array(
58
            'access' => 'module_translator',
59
            'handlers' => array(
60
                'controller' => array('gplcart\\modules\\translator\\controllers\\Translator', 'viewTranslator')
61
            )
62
        );
63
    }
64
65
    /**
66
     * Implements hook "user.role.permissions"
67
     * @param array $permissions
68
     */
69
    public function hookUserRolePermissions(array &$permissions)
70
    {
71
        $permissions['module_translator'] = 'Translator: access'; // @text
72
        $permissions['module_translator_upload'] = 'Translator: upload translations'; // @text
73
        $permissions['module_translator_delete'] = 'Translator: delete translations'; // @text
74
        $permissions['module_translator_download'] = 'Translator: download translations'; // @text
75
    }
76
77
    /**
78
     * Returns module's model class instance
79
     * @return \gplcart\modules\translator\models\Translator
80
     */
81
    public function getModel()
82
    {
83
        /** @var \gplcart\modules\translator\models\Translator $instance */
84
        $instance = Container::get('gplcart\\modules\\translator\\models\\Translator');
85
        return $instance;
86
    }
87
}
88