Completed
Push — master ( 562f96...7060cb )
by Iurii
04:38 queued 34s
created

Module::hookUserRolePermissions()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 8
Code Lines 6

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 8
rs 9.4285
c 0
b 0
f 0
cc 1
eloc 6
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
/**
13
 * Main class for Translator module
14
 */
15
class Module
16
{
17
18
    /**
19
     * Implements hook "module.install.before"
20
     * @param null|string $result
21
     */
22
    public function hookModuleInstallBefore(&$result)
23
    {
24
        if (!class_exists('ZipArchive')) {
25
            $result = $this->getTranslationModel()->text('Class ZipArchive does not exist');
26
        }
27
    }
28
29
    /**
30
     * Implements hook "route.list"
31
     * @param array $routes
32
     */
33
    public function hookRouteList(array &$routes)
34
    {
35
        $routes['admin/tool/translator'] = array(
36
            'menu' => array('admin' => /* @text */'Translator'),
37
            'access' => 'module_translator',
38
            'handlers' => array(
39
                'controller' => array('gplcart\\modules\\translator\\controllers\\Translator', 'languageTranslator')
40
            )
41
        );
42
43
        $routes['admin/tool/translator/(\w+)'] = array(
44
            'access' => 'module_translator',
45
            'handlers' => array(
46
                'controller' => array('gplcart\\modules\\translator\\controllers\\Translator', 'filesTranslator')
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
        $routes['admin/tool/translator/(\w+)/import'] = array(
65
            'access' => 'module_translator_import',
66
            'handlers' => array(
67
                'controller' => array('gplcart\\modules\\translator\\controllers\\Translator', 'listImportTranslator')
68
            )
69
        );
70
    }
71
72
    /**
73
     * Implements hook "user.role.permissions"
74
     * @param array $permissions
75
     */
76
    public function hookUserRolePermissions(array &$permissions)
77
    {
78
        $permissions['module_translator'] = /* @text */'Translator: access';
79
        $permissions['module_translator_upload'] = /* @text */'Translator: upload translations';
80
        $permissions['module_translator_delete'] = /* @text */'Translator: delete translations';
81
        $permissions['module_translator_import'] = /* @text */'Translator: import translations';
82
        $permissions['module_translator_download'] = /* @text */'Translator: download translations';
83
    }
84
85
    /**
86
     * Translation UI model class instance
87
     * @return \gplcart\core\models\Translation
88
     */
89
    protected function getTranslationModel()
90
    {
91
        return Container::get('gplcart\\core\\models\\Translation');
92
    }
93
94
}
95