Completed
Pull Request — develop (#13)
by Serge
02:05
created

Module::init()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 7
Code Lines 4

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 6
CRAP Score 2

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 7
ccs 6
cts 6
cp 1
rs 9.4285
cc 2
eloc 4
nc 2
nop 0
crap 2
1
<?php
2
/**
3
 * Sitemap module
4
 *
5
 * @author Serge Larin <[email protected]>
6
 * @link http://assayer.pro/
7
 * @copyright 2015 Assayer Pro Company
8
 * @license http://opensource.org/licenses/LGPL-3.0
9
 */
10
11
12
namespace assayerpro\sitemap;
13
use yii\base\Exception;
14
use yii\console\Application;
15
16
/**
17
 * Class Module for sitemap
18
 *
19
 * @author Serge Larin <[email protected]>
20
 * @package app\modules\webmaster
21
 */
22
class Module extends \yii\base\Module
23
{
24
    const CONSOLE_CONTROLLER_MAP = [
25
        'create' => [
26
            'class' => 'assayerpro\sitemap\console\CreateController',
27
        ],
28
    ];
29
30
    /**
31
     * sitemap
32
     *
33
     * @var mixed
34
     * @access private
35
     */
36
    private $_sitemap = null;
37
    /**
38
     * The namespace that controller classes are in.
39
     *
40
     * @var string
41
     * @access public
42
     */
43
    public $controllerNamespace = 'assayerpro\sitemap\controllers';
44
45 6
    public function init()
46
    {
47 6
        parent::init();
48 6
        if (\yii::$app instanceof Application) {
49 5
            $this->controllerMap = self::CONSOLE_CONTROLLER_MAP;
50 5
        }
51 6
    }
52
53
54
    /**
55
     * setSitemap
56
     *
57
     * @param mixed $sitemap
58
     * @access public
59
     * @return void
60
     */
61 1
    public function setSitemap($sitemap) {
62 1
        $this->_sitemap = $sitemap;
63
64 1
    }
65
66
    /**
67
     * getSitemap
68
     *
69
     * @access public
70
     * @return void
71
     */
72 3
    public function getSitemap() {
73 3
        if (!empty(\yii::$app->components['sitemap'])) {
74 1
            $result = \yii::$app->components['sitemap'];
75 3
        } else if (!($result = $this->_sitemap)) {
76 1
            throw new Exception('Component for sitemap module is required. Define it via application components '
77 1
                . 'or module components');
78
        }
79
80 2
        $result->module = $this;
81
82 2
        return $result;
83
    }
84
}
85