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

Transliterator::hookLanguageTranslitBefore()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 2
nc 1
nop 3
dl 0
loc 4
rs 10
c 0
b 0
f 0
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