Completed
Push — master ( fcbce8...62c788 )
by Iurii
01:03
created

Zadarma::setModuleAssets()   B

Complexity

Conditions 5
Paths 3

Size

Total Lines 9
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 9
rs 8.8571
c 0
b 0
f 0
cc 5
eloc 5
nc 3
nop 1
1
<?php
2
3
/**
4
 * @package Zadarma
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 GNU General Public License 3.0
8
 */
9
10
namespace gplcart\modules\zadarma;
11
12
use gplcart\core\Module,
13
    gplcart\core\Config;
14
15
/**
16
 * Main class for Zadarma module
17
 */
18
class Zadarma extends Module
19
{
20
21
    /**
22
     * @param Config $config
23
     */
24
    public function __construct(Config $config)
25
    {
26
        parent::__construct($config);
27
    }
28
29
    /**
30
     * Implements hook "route.list"
31
     * @param array $routes
32
     */
33
    public function hookRouteList(array &$routes)
34
    {
35
        $routes['admin/module/settings/zadarma'] = array(
36
            'access' => 'module_edit',
37
            'handlers' => array(
38
                'controller' => array('gplcart\\modules\\zadarma\\controllers\\Settings', 'editSettings')
39
            )
40
        );
41
    }
42
43
    /**
44
     * Implements hook "construct.controller.frontend"
45
     * @param \gplcart\core\controllers\frontend\Controller $controller
46
     */
47
    public function hookConstructControllerFrontend($controller)
48
    {
49
        $this->setModuleAssets($controller);
50
    }
51
52
    /**
53
     * Sets module specific assets
54
     * @param \gplcart\core\controllers\frontend\Controller $controller
55
     */
56
    protected function setModuleAssets($controller)
57
    {
58
        if (!$controller->isInternalRoute()) {
59
            $settings = $this->config->getFromModule('zadarma');
60
            if (!empty($settings['code']) && (empty($settings['trigger_id']) || $controller->isTriggered($settings['trigger_id']))) {
61
                $controller->setJs($settings['code'], array('position' => 'bottom', 'aggregate' => false));
62
            }
63
        }
64
    }
65
66
}
67