Completed
Push — master ( 23e1e2...4a4af8 )
by Iurii
02:16
created

Transliterator   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 39
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 1

Importance

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

3 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 4 1
A hookLanguageTranslit() 0 4 1
A transliterate() 0 10 2
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"
30
     * @param string $string
31
     * @param string $language
32
     * @param string|null $translit
33
     */
34
    public function hookLanguageTranslit($string, $language, &$translit)
35
    {
36
        $translit = $this->transliterate($string, $language);
37
    }
38
39
    /**
40
     * Transliterate a string
41
     * @param string $string
42
     * @param string|null $language
43
     */
44
    public function transliterate($string, $language = null)
45
    {
46
        if (empty($language)) {
47
            $language = null;
48
        }
49
50
        /* @var $transliterator \gplcart\modules\transliterator\helpers\Transliterator */
51
        $transliterator = $this->getInstance('gplcart\\modules\\transliterator\\helpers\\Transliterator');
52
        return $transliterator->transliterate($string, '?', $language);
53
    }
54
55
}
56