Completed
Push — master ( cf963e...7b5e06 )
by Iurii
02:21
created

Transliterator   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 40
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 1

Importance

Changes 0
Metric Value
wmc 4
lcom 0
cbo 1
dl 0
loc 40
rs 10
c 0
b 0
f 0

3 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 4 1
A transliterate() 0 10 2
A hookLanguageTranslitBefore() 0 4 1
1
<?php
2
3
/**
4
 * @package Transliterator
5
 * @author Iurii Makukh
6
 * @copyright Copyright (c) 2017, Iurii Makukh
7
 * @license https://www.gnu.org/licenses/gpl-3.0.en.html GPL-3.0+
8
 */
9
10
namespace gplcart\modules\transliterator;
11
12
use gplcart\core\Module;
13
14
/**
15
 * Main class for Transliterator module
16
 */
17
class Transliterator extends Module
18
{
19
20
    /**
21
     * Constructor
22
     */
23
    public function __construct()
24
    {
25
        parent::__construct();
26
    }
27
28
    /**
29
     * Implements hook "language.translit.before"
30
     * @param string $string
31
     * @param string $language
32
     * @param string|null $result
33
     */
34
    public function hookLanguageTranslitBefore($string, $language, &$result)
35
    {
36
        $result = $this->transliterate($string, $language);
37
    }
38
39
    /**
40
     * Transliterate a string
41
     * @param string $string
42
     * @param string|null $language
43
     * @return string
44
     */
45
    public function transliterate($string, $language = null)
46
    {
47
        if (empty($language)) {
48
            $language = null;
49
        }
50
51
        /* @var $transliterator \gplcart\modules\transliterator\helpers\Transliterator */
52
        $transliterator = $this->getHelper('Transliterator', 'transliterator');
53
        return $transliterator->transliterate($string, '?', $language);
54
    }
55
56
}
57