Completed
Push — master ( d0be5a...fa5551 )
by Iurii
06:30
created

Main::__construct()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 4
rs 10
c 0
b 0
f 0
cc 1
eloc 2
nc 1
nop 1
1
<?php
2
3
/**
4
 * @package Autocomplete search
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\autocomplete_search;
11
12
use gplcart\core\Module;
13
14
/**
15
 * Main class for Autocomplete search module
16
 */
17
class Main
18
{
19
20
    /**
21
     * Module class instance
22
     * @var \gplcart\core\Module $module
23
     */
24
    protected $module;
25
26
    /**
27
     * @param Module $module
28
     */
29
    public function __construct(Module $module)
30
    {
31
        $this->module = $module;
32
    }
33
34
    /**
35
     * Implements hook "construct.controller.frontend"
36
     * @param \gplcart\core\controllers\frontend\Controller $controller
37
     */
38
    public function hookConstructControllerFrontend($controller)
39
    {
40
        $this->setModuleAssets($controller);
41
    }
42
43
    /**
44
     * Implements hook "route.list"
45
     * @param array $routes
46
     */
47
    public function hookRouteList(array &$routes)
48
    {
49
        $routes['admin/module/settings/autocomplete_search'] = array(
50
            'access' => 'module_edit',
51
            'handlers' => array(
52
                'controller' => array('gplcart\\modules\\autocomplete_search\\controllers\\Settings', 'editSettings')
53
            )
54
        );
55
56
        $routes['autocomplete-search'] = array(
57
            'handlers' => array(
58
                'controller' => array('gplcart\\modules\\autocomplete_search\\controllers\\Search', 'doSearch')
59
            )
60
        );
61
    }
62
63
    /**
64
     * Sets module specific assets
65
     * @param \gplcart\core\controllers\frontend\Controller $controller
66
     */
67
    protected function setModuleAssets($controller)
68
    {
69
        if (!$controller->isInternalRoute()) {
70
            $settings = $this->module->getSettings('autocomplete_search', array());
71
            $controller->setJsSettings('autocomplete_search', $settings);
72
            $controller->setJs('system/modules/autocomplete_search/js/common.js');
73
            $controller->setCss('system/modules/autocomplete_search/css/common.css');
74
            $controller->addAssetLibrary('jquery_ui');
75
        }
76
    }
77
78
}
79