Passed
Pull Request — master (#23)
by Nikolay
09:42 queued 03:08
created

FeaturesConf::extensionGlobals()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 1
c 0
b 0
f 0
dl 0
loc 4
rs 10
cc 1
nc 1
nop 0
1
<?php
2
/**
3
 * Copyright (C) MIKO LLC - All Rights Reserved
4
 * Unauthorized copying of this file, via any medium is strictly prohibited
5
 * Proprietary and confidential
6
 * Written by Nikolay Beketov, 5 2020
7
 *
8
 */
9
10
namespace MikoPBX\Core\Asterisk\Configs;
11
12
13
use MikoPBX\Core\System\Util;
14
use MikoPBX\Modules\Config\ConfigClass;
15
16
class FeaturesConf extends ConfigClass
17
{
18
    protected string $description = 'features.conf';
19
20
    protected function generateConfigProtected(): void
21
    {
22
        $conf             = "[general]\n" .
23
            "featuredigittimeout = {$this->generalSettings['PBXFeatureDigitTimeout']}\n" .
24
            "atxfernoanswertimeout = {$this->generalSettings['PBXFeatureAtxferNoAnswerTimeout']}\n" .
25
            "transferdigittimeout = {$this->generalSettings['PBXFeatureTransferDigitTimeout']}\n" .
26
            "pickupexten = {$this->generalSettings['PBXFeaturePickupExten']}\n" .
27
            "atxferabort = *0\n" .
28
            "\n" .
29
            "[featuremap]\n" .
30
            "atxfer => {$this->generalSettings['PBXFeatureAttendedTransfer']}\n" .
31
            "disconnect = *0\n" .
32
            "blindxfer => {$this->generalSettings['PBXFeatureBlindTransfer']}\n";
33
34
        $additionalModules = $this->di->getShared('pbxConfModules');
35
        foreach ($additionalModules as $appClass) {
36
            $conf .= $appClass->getFeatureMap();
37
        }
38
39
        Util::fileWriteContent($this->config->path('asterisk.astetcdir') . '/features.conf', $conf);
40
    }
41
42
    // Секция global для extensions.conf.
43
    public function extensionGlobals(): string
44
    {
45
        // Генерация хинтов.
46
        return "PICKUP_EXTEN={$this->generalSettings['PBXFeaturePickupExten']}\n";
47
    }
48
}