Passed
Push — develop ( b2a03f...b2a56a )
by Портнов
04:59 queued 11s
created
src/Core/Utilities/SubnetCalculator.php 2 patches
Braces   +2 added lines, -1 removed lines patch added patch discarded remove patch
@@ -259,7 +259,8 @@
 block discarded – undo
259 259
         return implode(
260 260
             $separator,
261 261
             array_map(
262
-                function ($x) use ($format) {
262
+                function ($x) use ($format)
263
+                {
263 264
                     return sprintf($format, $x);
264 265
                 },
265 266
                 $this->quads
Please login to merge, or discard this patch.
Spacing   +3 added lines, -3 removed lines patch added patch discarded remove patch
@@ -85,7 +85,7 @@  discard block
 block discarded – undo
85 85
      */
86 86
     private function validateInputs($ip, $network_size)
87 87
     {
88
-        if ( ! filter_var($ip, FILTER_VALIDATE_IP)) {
88
+        if (!filter_var($ip, FILTER_VALIDATE_IP)) {
89 89
             throw new Error("IP address $ip not valid.");
90 90
         }
91 91
         if (($network_size < 1) || ($network_size > 32)) {
@@ -185,7 +185,7 @@  discard block
 block discarded – undo
185 185
     public function getSubnetArrayReport()
186 186
     {
187 187
         return [
188
-            'ip_address_with_network_size' => $this->getIPAddress() . '/' . $this->getNetworkSize(),
188
+            'ip_address_with_network_size' => $this->getIPAddress().'/'.$this->getNetworkSize(),
189 189
             'ip_address'                   => [
190 190
                 'quads'  => $this->getIPAddress(),
191 191
                 'hex'    => $this->getIPAddressHex(),
@@ -257,7 +257,7 @@  discard block
 block discarded – undo
257 257
         return implode(
258 258
             $separator,
259 259
             array_map(
260
-                function ($x) use ($format) {
260
+                function($x) use ($format) {
261 261
                     return sprintf($format, $x);
262 262
                 },
263 263
                 $this->quads
Please login to merge, or discard this patch.
src/Core/System/Verify.php 1 patch
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -20,7 +20,7 @@
 block discarded – undo
20 20
      */
21 21
     public static function isIpAddress($ipaddr): ?bool
22 22
     {
23
-        if ( ! is_string($ipaddr)) {
23
+        if (!is_string($ipaddr)) {
24 24
             return false;
25 25
         }
26 26
 
Please login to merge, or discard this patch.
src/AdminCabinet/Controllers/BaseController.php 2 patches
Upper-Lower-Casing   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -110,10 +110,10 @@
 block discarded – undo
110 110
             case'save':
111 111
             case'modify':
112 112
             case'*** WITHOUT ACTION ***':
113
-                $title .= '|'. $this->translation->_("Breadcrumb{$this->controllerName}");
113
+                $title .= '|'. $this->translation->_("breadcrumb{$this->controllerName}");
114 114
                 break;
115 115
             default:
116
-                $title .= '|'. $this->translation->_("Breadcrumb{$this->controllerName}{$this->actionName}");
116
+                $title .= '|'. $this->translation->_("breadcrumb{$this->controllerName}{$this->actionName}");
117 117
         }
118 118
         Tag::setTitle($title);
119 119
         $this->view->t         = $this->translation;
Please login to merge, or discard this patch.
Spacing   +4 added lines, -4 removed lines patch added patch discarded remove patch
@@ -105,10 +105,10 @@  discard block
 block discarded – undo
105 105
             case'save':
106 106
             case'modify':
107 107
             case'*** WITHOUT ACTION ***':
108
-                $title .= '|'. $this->translation->_("Breadcrumb{$this->controllerName}");
108
+                $title .= '|'.$this->translation->_("Breadcrumb{$this->controllerName}");
109 109
                 break;
110 110
             default:
111
-                $title .= '|'. $this->translation->_("Breadcrumb{$this->controllerName}{$this->actionName}");
111
+                $title .= '|'.$this->translation->_("Breadcrumb{$this->controllerName}{$this->actionName}");
112 112
         }
113 113
         Tag::setTitle($title);
114 114
         $this->view->t         = $this->translation;
@@ -149,7 +149,7 @@  discard block
 block discarded – undo
149 149
     protected function getSessionData(string $key): string
150 150
     {
151 151
         $roSession = $this->sessionRO;
152
-        if ($roSession !== null && array_key_exists($key, $roSession) && ! empty($roSession[$key])) {
152
+        if ($roSession !== null && array_key_exists($key, $roSession) && !empty($roSession[$key])) {
153 153
             $value = $roSession[$key];
154 154
         } else {
155 155
             $value = PbxSettings::getValueByKey($key);
@@ -226,7 +226,7 @@  discard block
 block discarded – undo
226 226
     {
227 227
         if ($this->request->isPost()) {
228 228
             $data = $this->request->getPost('submitMode');
229
-            if ( ! empty($data)) {
229
+            if (!empty($data)) {
230 230
                 $this->session->set('SubmitMode', $data);
231 231
             }
232 232
         }
Please login to merge, or discard this patch.
src/Common/Config/functions.php 1 patch
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -16,6 +16,6 @@
 block discarded – undo
16 16
      */
17 17
     function appPath(string $path = ''): string
18 18
     {
19
-        return dirname(__DIR__,3) . ($path ? DIRECTORY_SEPARATOR . $path : $path);
19
+        return dirname(__DIR__, 3).($path ? DIRECTORY_SEPARATOR . $path : $path);
20 20
     }
21 21
 }
Please login to merge, or discard this patch.
src/Common/Providers/ModulesDBConnectionsProvider.php 2 patches
Braces   +2 added lines, -1 removed lines patch added patch discarded remove patch
@@ -111,7 +111,8 @@
 block discarded – undo
111 111
         // Attach all created connections to one transaction manager
112 112
         $eventsManager->attach(
113 113
             'db',
114
-            function ($event) use ($registeredDBServices, $di) {
114
+            function ($event) use ($registeredDBServices, $di)
115
+            {
115 116
                 switch ($event->getType()) {
116 117
                     case 'beginTransaction':
117 118
                     {
Please login to merge, or discard this patch.
Spacing   +11 added lines, -11 removed lines patch added patch discarded remove patch
@@ -38,21 +38,21 @@  discard block
 block discarded – undo
38 38
         $config               = $di->getShared('config');
39 39
         $modulesDir           = $config->path('core.modulesDir');
40 40
 
41
-        $results = glob($modulesDir . '/*/module.json', GLOB_NOSORT);
41
+        $results = glob($modulesDir.'/*/module.json', GLOB_NOSORT);
42 42
 
43 43
         foreach ($results as $moduleJson) {
44
-            $jsonString            = file_get_contents($moduleJson);
45
-            if ($jsonString === false){
44
+            $jsonString = file_get_contents($moduleJson);
45
+            if ($jsonString === false) {
46 46
                 continue;
47 47
             }
48 48
             $jsonModuleDescription = json_decode($jsonString, true);
49
-            if ( ! is_array($jsonModuleDescription)
49
+            if (!is_array($jsonModuleDescription)
50 50
                 || !array_key_exists('moduleUniqueID', $jsonModuleDescription)) {
51 51
                 continue;
52 52
             }
53 53
 
54 54
             $moduleUniqueId = $jsonModuleDescription['moduleUniqueID'];
55
-            if ( ! isset($moduleUniqueId)) {
55
+            if (!isset($moduleUniqueId)) {
56 56
                 continue;
57 57
             }
58 58
 
@@ -72,14 +72,14 @@  discard block
 block discarded – undo
72 72
                 }
73 73
 
74 74
                 if (
75
-                    ! class_exists($moduleModelClass)
75
+                    !class_exists($moduleModelClass)
76 76
                     || count(get_class_vars($moduleModelClass)) === 0) {
77 77
                     continue;
78 78
                 }
79 79
 
80 80
                 $model                 = new $moduleModelClass();
81 81
                 $connectionServiceName = $model->getReadConnectionService();
82
-                if ( ! isset($connectionServiceName)) {
82
+                if (!isset($connectionServiceName)) {
83 83
                     continue;
84 84
                 }
85 85
                 $registeredDBServices[] = $connectionServiceName;
@@ -89,7 +89,7 @@  discard block
 block discarded – undo
89 89
 
90 90
                 // Create and connect database
91 91
                 $dbDir = "{$config->path('core.modulesDir')}/{$moduleUniqueId}/db";
92
-                if (!file_exists($dbDir)){
92
+                if (!file_exists($dbDir)) {
93 93
                     Util::mwMkdir($dbDir, true);
94 94
                 }
95 95
                 $dbFileName = "{$dbDir}/module.db";
@@ -98,7 +98,7 @@  discard block
 block discarded – undo
98 98
                 // Log
99 99
                 $logDir = "{$config->path('core.logsDir')}/$moduleUniqueId/db";
100 100
                 $logFileName = "{$logDir}/queries.log";
101
-                if (!is_dir($logDir)){
101
+                if (!is_dir($logDir)) {
102 102
                     Util::mwMkdir($logDir, true);
103 103
                     $touchPath = Util::which('touch');
104 104
                     Util::mwExec("{$touchPath} {$logFileName}");
@@ -115,7 +115,7 @@  discard block
 block discarded – undo
115 115
                 $this->registerDBService($connectionServiceName, $di, $params);
116 116
 
117 117
                 // if database was created, we have to apply rules
118
-                if (!$dbFileExistBeforeAttachToConnection){
118
+                if (!$dbFileExistBeforeAttachToConnection) {
119 119
                     Util::addRegularWWWRights($dbDir);
120 120
                 }
121 121
             }
@@ -131,7 +131,7 @@  discard block
 block discarded – undo
131 131
         // Attach all created connections to one transaction manager
132 132
         $eventsManager->attach(
133 133
             'db',
134
-            function ($event) use ($registeredDBServices, $di) {
134
+            function($event) use ($registeredDBServices, $di) {
135 135
                 switch ($event->getType()) {
136 136
                     case 'beginTransaction':
137 137
                     {
Please login to merge, or discard this patch.
src/AdminCabinet/Controllers/PbxExtensionModulesController.php 2 patches
Spacing   +4 added lines, -4 removed lines patch added patch discarded remove patch
@@ -23,7 +23,7 @@  discard block
 block discarded – undo
23 23
     {
24 24
         $licKey = PbxSettings::getValueByKey('PBXLicense');
25 25
         if (strlen($licKey) !== 28
26
-            || ! Text::startsWith($licKey, 'MIKO-')) {
26
+            || !Text::startsWith($licKey, 'MIKO-')) {
27 27
             $this->forward('licensing/modify/pbx-extension-modules');
28 28
         }
29 29
         // Очистим кеш хранилища для получения актульной информации о свободном месте
@@ -76,7 +76,7 @@  discard block
 block discarded – undo
76 76
         }
77 77
         $options                = json_decode($previousMenuSettings->value, true);
78 78
         $this->view->form       = new PbxExtensionModuleSettingsForm($previousMenuSettings, $options);
79
-        $this->view->title      = $this->translation->_('ext_SettingsForModule') . ' ' . $this->translation->_(
79
+        $this->view->title      = $this->translation->_('ext_SettingsForModule').' '.$this->translation->_(
80 80
                 "Breadcrumb$uniqid"
81 81
             );
82 82
         $this->view->submitMode = null;
@@ -89,7 +89,7 @@  discard block
 block discarded – undo
89 89
      */
90 90
     public function saveModuleSettingsAction(): void
91 91
     {
92
-        if ( ! $this->request->isPost()) {
92
+        if (!$this->request->isPost()) {
93 93
             return;
94 94
         }
95 95
         $data = $this->request->getPost();
@@ -99,7 +99,7 @@  discard block
 block discarded – undo
99 99
             $record      = new PbxSettings();
100 100
             $record->key = $data['key'];
101 101
         }
102
-        $value         = [
102
+        $value = [
103 103
             'uniqid'        => $data['uniqid'],
104 104
             'href'          => $data['href'],
105 105
             'group'         => $data['menu-group'],
Please login to merge, or discard this patch.
Upper-Lower-Casing   +4 added lines, -4 removed lines patch added patch discarded remove patch
@@ -57,7 +57,7 @@  discard block
 block discarded – undo
57 57
      */
58 58
     public function modifyAction(string $uniqid): void
59 59
     {
60
-        $menuSettings               = "AdditionalMenuItem{$uniqid}";
60
+        $menuSettings               = "additionalmenuitem{$uniqid}";
61 61
         $unCamelizedControllerName  = Text::uncamelize($uniqid, '-');
62 62
         $previousMenuSettings       = PbxSettings::findFirstByKey($menuSettings);
63 63
         $this->view->showAtMainMenu = $previousMenuSettings !== false;
@@ -69,7 +69,7 @@  discard block
 block discarded – undo
69 69
                 'href'          => $this->url->get($unCamelizedControllerName),
70 70
                 'group'         => '',
71 71
                 'iconClass'     => 'puzzle piece',
72
-                'caption'       => "Breadcrumb$uniqid",
72
+                'caption'       => "breadcrumb$uniqid",
73 73
                 'showAtSidebar' => false,
74 74
             ];
75 75
             $previousMenuSettings->value = json_encode($value);
@@ -77,7 +77,7 @@  discard block
 block discarded – undo
77 77
         $options                = json_decode($previousMenuSettings->value, true);
78 78
         $this->view->form       = new PbxExtensionModuleSettingsForm($previousMenuSettings, $options);
79 79
         $this->view->title      = $this->translation->_('ext_SettingsForModule') . ' ' . $this->translation->_(
80
-                "Breadcrumb$uniqid"
80
+                "breadcrumb$uniqid"
81 81
             );
82 82
         $this->view->submitMode = null;
83 83
         $this->view->indexUrl   = $unCamelizedControllerName;
@@ -128,7 +128,7 @@  discard block
 block discarded – undo
128 128
         $result  = [];
129 129
         $modules = PbxExtensionModules::getEnabledModulesArray();
130 130
         foreach ($modules as $module) {
131
-            $menuSettings         = "AdditionalMenuItem{$module['uniqid']}";
131
+            $menuSettings         = "additionalmenuitem{$module['uniqid']}";
132 132
             $previousMenuSettings = PbxSettings::findFirstByKey($menuSettings);
133 133
             if ($previousMenuSettings !== null) {
134 134
                 $result['items'][] = json_decode($previousMenuSettings->value, true);
Please login to merge, or discard this patch.
src/AdminCabinet/Utilities/Debug/PhpError.php 1 patch
Spacing   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -22,7 +22,7 @@  discard block
 block discarded – undo
22 22
      */
23 23
     public static function exceptionHandler($e)
24 24
     {
25
-        if ( ! empty($e)) {
25
+        if (!empty($e)) {
26 26
             // Record Error
27 27
             self::errorHandler(0, $e->getMessage(), $e->getFile(), $e->getLine());
28 28
         }
@@ -72,7 +72,7 @@  discard block
 block discarded – undo
72 72
     public static function runtimeShutdown()
73 73
     {
74 74
         $e = error_get_last();
75
-        if ( ! empty($e)) {
75
+        if (!empty($e)) {
76 76
             // Record Error
77 77
             self::errorHandler($e['type'], $e['message'], $e['file'], $e['line']);
78 78
         }
Please login to merge, or discard this patch.
src/Core/Asterisk/Configs/ExternalPhonesConf.php 1 patch
Spacing   +5 added lines, -5 removed lines patch added patch discarded remove patch
@@ -40,12 +40,12 @@  discard block
 block discarded – undo
40 40
      */
41 41
     public function extensionGenInternal(): string
42 42
     {
43
-        if ($this->arrExternalPhones===null){
43
+        if ($this->arrExternalPhones === null) {
44 44
             $this->getSettings();
45 45
         }
46 46
         $conf = '';
47 47
         foreach ($this->arrExternalPhones as $external) {
48
-            $conf .= "exten => _{$external['extension']},1,Set(EXTERNALPHONE=" . $external['dialstring'] . ")\n\t";
48
+            $conf .= "exten => _{$external['extension']},1,Set(EXTERNALPHONE=".$external['dialstring'].")\n\t";
49 49
             $conf .= "same => n,Goto(outgoing,{$external['dialstring']},1)\n\t";
50 50
             $conf .= "same => n,AGI(check_redirect.php,\${BLINDTRANSFER})\n";
51 51
         }
@@ -59,13 +59,13 @@  discard block
 block discarded – undo
59 59
      */
60 60
     public function extensionGenInternalTransfer(): string
61 61
     {
62
-        if ($this->arrExternalPhones===null){
62
+        if ($this->arrExternalPhones === null) {
63 63
             $this->getSettings();
64 64
         }
65 65
         $conf = '';
66 66
         foreach ($this->arrExternalPhones as $external) {
67
-            $conf .= 'exten => _' . $external['extension'] . ',1,Set(__ISTRANSFER=transfer_)' . " \n\t";
68
-            $conf .= 'same => n,Goto(internal,${EXTEN},1)' . " \n";
67
+            $conf .= 'exten => _'.$external['extension'].',1,Set(__ISTRANSFER=transfer_)'." \n\t";
68
+            $conf .= 'same => n,Goto(internal,${EXTEN},1)'." \n";
69 69
         }
70 70
         $conf .= "\n";
71 71
 
Please login to merge, or discard this patch.
src/Core/Asterisk/Configs/ExtensionsConf.php 3 patches
Braces   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -578,7 +578,7 @@
 block discarded – undo
578 578
             if ($add_login_pattern && array_key_exists('X!', $rout_data_dial) && isset($dialplan['X!'])) {
579 579
                 $dialplan[$login]       = str_replace('_X!,1', "{$login},1", $dialplan['X!']);
580 580
                 $rout_data_dial[$login] = $rout_data_dial['X!'];
581
-            }elseif($add_login_pattern === true && $need_def_rout === true && count($data) === 1){
581
+            } elseif($add_login_pattern === true && $need_def_rout === true && count($data) === 1){
582 582
                 // Только маршрут "По умолчанию".
583 583
                 $dialplan[$login]       = str_replace('_X!,1', "{$login},1", $dialplan['X!']);
584 584
             }
Please login to merge, or discard this patch.
Indentation   +7 added lines, -7 removed lines patch added patch discarded remove patch
@@ -545,11 +545,11 @@  discard block
 block discarded – undo
545 545
                 $rout_data .= 'same => n,Gosub(add-trim-prefix-clid,${EXTEN},1)' . "\n\t";
546 546
 
547 547
                 foreach ($additionalModules as $appClass) {
548
-                     $addition = $appClass->generateIncomingRoutBeforeDial($rout_number);
549
-                     if (!empty($addition)){
550
-                         $rout_data .=$appClass->confBlockWithComments($addition);
551
-                     }
552
-                 }
548
+                        $addition = $appClass->generateIncomingRoutBeforeDial($rout_number);
549
+                        if (!empty($addition)){
550
+                            $rout_data .=$appClass->confBlockWithComments($addition);
551
+                        }
552
+                    }
553 553
 
554 554
                 // Перехват на ответственного.
555 555
                 $rout_data .= 'same => n,UserEvent(Interception,CALLERID: ${CALLERID(num)},chan1c: ${CHANNEL},FROM_DID: ${FROM_DID})' . "\n\t";
@@ -612,7 +612,7 @@  discard block
 block discarded – undo
612 612
             }
613 613
         } elseif (is_array($provider)) {
614 614
             foreach (array_values($provider) as $_login) {
615
-                   $dialplan[$_login] = str_replace('_X!,1', "{$_login},1", $dialplan['X!']);
615
+                    $dialplan[$_login] = str_replace('_X!,1', "{$_login},1", $dialplan['X!']);
616 616
             }
617 617
         }
618 618
 
@@ -641,7 +641,7 @@  discard block
 block discarded – undo
641 641
                 foreach ($additionalModules as $appClass) {
642 642
                     $addition = $appClass->generateIncomingRoutAfterDialContext($uniqid);
643 643
                     if (!empty($addition)){
644
-                         $conf .=$appClass->confBlockWithComments($addition);
644
+                            $conf .=$appClass->confBlockWithComments($addition);
645 645
                     }
646 646
                 }
647 647
                 $conf .= " \t" . 'same => n,GosubIf($["${DIALPLAN_EXISTS(${CONTEXT}-after-dial-custom,${EXTEN},1)}" == "1"]?${CONTEXT}-after-dial-custom,${EXTEN},1)' . "\n";
Please login to merge, or discard this patch.
Spacing   +229 added lines, -229 removed lines patch added patch discarded remove patch
@@ -26,14 +26,14 @@  discard block
 block discarded – undo
26 26
         $additionalModules = $this->di->getShared('pbxConfModules');
27 27
         $conf = "[globals] \n".
28 28
                 "TRANSFER_CONTEXT=internal-transfer; \n";
29
-        if($this->generalSettings['PBXRecordCalls'] === '1'){
30
-            $conf.="MONITOR_DIR=".Storage::getMonitorDir()." \n";
31
-            $conf.="MONITOR_STEREO=".$this->generalSettings['PBXSplitAudioThread']." \n";
29
+        if ($this->generalSettings['PBXRecordCalls'] === '1') {
30
+            $conf .= "MONITOR_DIR=".Storage::getMonitorDir()." \n";
31
+            $conf .= "MONITOR_STEREO=".$this->generalSettings['PBXSplitAudioThread']." \n";
32 32
         }
33 33
         foreach ($additionalModules as $appClass) {
34 34
             $addition = $appClass->extensionGlobals();
35
-            if (!empty($addition)){
36
-                $conf .=$appClass->confBlockWithComments($addition);
35
+            if (!empty($addition)) {
36
+                $conf .= $appClass->confBlockWithComments($addition);
37 37
             }
38 38
         }
39 39
         $conf .= "\n";
@@ -56,7 +56,7 @@  discard block
 block discarded – undo
56 56
         // Переключатель по времени.
57 57
         $this->generateOutWorkTimes($conf);
58 58
 
59
-        Util::fileWriteContent($this->config->path('asterisk.astetcdir') . '/extensions.conf', $conf);
59
+        Util::fileWriteContent($this->config->path('asterisk.astetcdir').'/extensions.conf', $conf);
60 60
     }
61 61
 
62 62
     /**
@@ -68,68 +68,68 @@  discard block
 block discarded – undo
68 68
     {
69 69
         $extension = 'X!';
70 70
         // Контекст для AMI originate. Без него отображается не корректный CallerID.
71
-        $conf .= '[sipregistrations]' . "\n\n";
71
+        $conf .= '[sipregistrations]'."\n\n";
72 72
 
73
-        $conf .= '[messages]' . "\n" .
74
-            'exten => _' . $extension . ',1,MessageSend(sip:${EXTEN},"${CALLERID(name)}"${MESSAGE(from)})' . "\n\n";
73
+        $conf .= '[messages]'."\n".
74
+            'exten => _'.$extension.',1,MessageSend(sip:${EXTEN},"${CALLERID(name)}"${MESSAGE(from)})'."\n\n";
75 75
 
76
-        $conf .= '[internal-originate]' . " \n";
77
-        $conf .= 'exten => _' . $extension . ',1,NoOP(Hint ${HINT} exten ${EXTEN} )' . " \n";
78
-        $conf .= '; Если это originate, то скроем один CDR.' . " \n\t";
79
-        $conf .= 'same => n,ExecIf($["${pt1c_cid}x" != "x"]?Set(CALLERID(num)=${pt1c_cid}))' . " \n\t";
76
+        $conf .= '[internal-originate]'." \n";
77
+        $conf .= 'exten => _'.$extension.',1,NoOP(Hint ${HINT} exten ${EXTEN} )'." \n";
78
+        $conf .= '; Если это originate, то скроем один CDR.'." \n\t";
79
+        $conf .= 'same => n,ExecIf($["${pt1c_cid}x" != "x"]?Set(CALLERID(num)=${pt1c_cid}))'." \n\t";
80 80
 
81
-        $conf .= 'same => n,ExecIf($["${CUT(CHANNEL,\;,2)}" == "2"]?Set(__PT1C_SIP_HEADER=${SIPADDHEADER}))' . " \n\t";
82
-        $conf .= 'same => n,ExecIf($["${peer_mobile}x" != "x"]?Set(ADDITIONAL_PEER=&Local/${peer_mobile}@outgoing/n))' . " \n\t";
81
+        $conf .= 'same => n,ExecIf($["${CUT(CHANNEL,\;,2)}" == "2"]?Set(__PT1C_SIP_HEADER=${SIPADDHEADER}))'." \n\t";
82
+        $conf .= 'same => n,ExecIf($["${peer_mobile}x" != "x"]?Set(ADDITIONAL_PEER=&Local/${peer_mobile}@outgoing/n))'." \n\t";
83 83
 
84 84
         // Описываем возможность прыжка в пользовательский sub контекст.
85
-        $conf .= 'same => n,GosubIf($["${DIALPLAN_EXISTS(${CONTEXT}-custom,${EXTEN},1)}" == "1"]?${CONTEXT}-custom,${EXTEN},1)' . "\n\t";
86
-        $conf .= 'same => n,Dial(Local/${EXTEN}@internal-users/n${ADDITIONAL_PEER},60,cTteKkHhb(originate_create_chan,s,1))' . " \n\n";
87
-
88
-        $conf .= '[originate_create_chan]' . " \n";
89
-        $conf .= 'exten => s,1,Set(CHANNEL(hangup_handler_wipe)=hangup_handler,s,1)' . "\n\t";
90
-        $conf .= 'same => n,return' . " \n\n";
91
-
92
-        $conf .= '[dial_create_chan]' . " \n";
93
-        $conf .= 'exten => s,1,Gosub(lua_${ISTRANSFER}dial_create_chan,${EXTEN},1)' . "\n\t";
94
-        $conf .= 'same => n,Set(pt1c_is_dst=1)' . " \n\t";
95
-        $conf .= 'same => n,ExecIf($["${PT1C_SIP_HEADER}x" != "x"]?Set(PJSIP_HEADER(add,${CUT(PT1C_SIP_HEADER,:,1)})=${CUT(PT1C_SIP_HEADER,:,2)}))' . " \n\t";
96
-        $conf .= 'same => n,Set(__PT1C_SIP_HEADER=${UNDEFINED})' . " \n\t";
97
-        $conf .= 'same => n,Set(CHANNEL(hangup_handler_wipe)=hangup_handler,s,1)' . " \n\t";
98
-        $conf .= 'same => n,return' . " \n\n";
99
-
100
-        $conf .= '[hangup_handler]' . "\n";
101
-        $conf .= 'exten => s,1,NoOp(--- hangup - ${CHANNEL} ---)' . "\n\t";
102
-        $conf .= 'same => n,Gosub(hangup_chan,${EXTEN},1)' . "\n\t";
103
-
104
-        $conf .= 'same => n,return' . "\n\n";
105
-
106
-        $conf .= '[set_orign_chan]' . "\n";
107
-        $conf .= 'exten => s,1,Wait(0.2)' . "\n\t";
108
-        $conf .= 'same => n,Set(pl=${IF($["${CHANNEL:-1}" == "1"]?2:1)})' . "\n\t";
109
-        $conf .= 'same => n,Set(orign_chan=${IMPORT(${CUT(CHANNEL,\;,1)}\;${pl},BRIDGEPEER)})' . "\n\t";
110
-        $conf .= 'same => n,ExecIf($[ "${orign_chan}x" == "x" ]?Set(orign_chan=${IMPORT(${CUT(CHANNEL,\;,1)}\;${pl},FROM_CHAN)}))' . "\n\t";
111
-        $conf .= 'same => n,ExecIf($[ "${QUEUE_SRC_CHAN}x" != "x" ]?Set(__QUEUE_SRC_CHAN=${orign_chan}))' . "\n\t";
112
-        $conf .= 'same => n,ExecIf($[ "${QUEUE_SRC_CHAN:0:5}" == "Local" ]?Set(__QUEUE_SRC_CHAN=${FROM_CHAN}))' . "\n\t";
113
-        $conf .= 'same => n,ExecIf($[ "${FROM_CHAN}x" == "x" ]?Set(__FROM_CHAN=${IMPORT(${CUT(CHANNEL,\;,1)}\;${pl},BRIDGEPEER)}))' . "\n\t";
114
-        $conf .= 'same => n,return' . "\n\n";
115
-
116
-        $conf .= '[playback]' . "\n";
117
-        $conf .= 'exten => s,1,Playback(hello_demo,noanswer)' . "\n\t";
118
-        $conf .= 'same => n,ExecIf($["${SRC_BRIDGE_CHAN}x" == "x"]?Wait(30))' . "\n\t";
119
-        $conf .= 'same => n,Wait(0.3)' . "\n\t";
120
-        $conf .= 'same => n,Bridge(${SRC_BRIDGE_CHAN},kKTthH)' . "\n\n";
121
-
122
-        $conf .= 'exten => h,1,ExecIf($["${ISTRANSFER}x" != "x"]?Gosub(${ISTRANSFER}dial_hangup,${EXTEN},1))' . "\n\n";
85
+        $conf .= 'same => n,GosubIf($["${DIALPLAN_EXISTS(${CONTEXT}-custom,${EXTEN},1)}" == "1"]?${CONTEXT}-custom,${EXTEN},1)'."\n\t";
86
+        $conf .= 'same => n,Dial(Local/${EXTEN}@internal-users/n${ADDITIONAL_PEER},60,cTteKkHhb(originate_create_chan,s,1))'." \n\n";
87
+
88
+        $conf .= '[originate_create_chan]'." \n";
89
+        $conf .= 'exten => s,1,Set(CHANNEL(hangup_handler_wipe)=hangup_handler,s,1)'."\n\t";
90
+        $conf .= 'same => n,return'." \n\n";
91
+
92
+        $conf .= '[dial_create_chan]'." \n";
93
+        $conf .= 'exten => s,1,Gosub(lua_${ISTRANSFER}dial_create_chan,${EXTEN},1)'."\n\t";
94
+        $conf .= 'same => n,Set(pt1c_is_dst=1)'." \n\t";
95
+        $conf .= 'same => n,ExecIf($["${PT1C_SIP_HEADER}x" != "x"]?Set(PJSIP_HEADER(add,${CUT(PT1C_SIP_HEADER,:,1)})=${CUT(PT1C_SIP_HEADER,:,2)}))'." \n\t";
96
+        $conf .= 'same => n,Set(__PT1C_SIP_HEADER=${UNDEFINED})'." \n\t";
97
+        $conf .= 'same => n,Set(CHANNEL(hangup_handler_wipe)=hangup_handler,s,1)'." \n\t";
98
+        $conf .= 'same => n,return'." \n\n";
99
+
100
+        $conf .= '[hangup_handler]'."\n";
101
+        $conf .= 'exten => s,1,NoOp(--- hangup - ${CHANNEL} ---)'."\n\t";
102
+        $conf .= 'same => n,Gosub(hangup_chan,${EXTEN},1)'."\n\t";
103
+
104
+        $conf .= 'same => n,return'."\n\n";
105
+
106
+        $conf .= '[set_orign_chan]'."\n";
107
+        $conf .= 'exten => s,1,Wait(0.2)'."\n\t";
108
+        $conf .= 'same => n,Set(pl=${IF($["${CHANNEL:-1}" == "1"]?2:1)})'."\n\t";
109
+        $conf .= 'same => n,Set(orign_chan=${IMPORT(${CUT(CHANNEL,\;,1)}\;${pl},BRIDGEPEER)})'."\n\t";
110
+        $conf .= 'same => n,ExecIf($[ "${orign_chan}x" == "x" ]?Set(orign_chan=${IMPORT(${CUT(CHANNEL,\;,1)}\;${pl},FROM_CHAN)}))'."\n\t";
111
+        $conf .= 'same => n,ExecIf($[ "${QUEUE_SRC_CHAN}x" != "x" ]?Set(__QUEUE_SRC_CHAN=${orign_chan}))'."\n\t";
112
+        $conf .= 'same => n,ExecIf($[ "${QUEUE_SRC_CHAN:0:5}" == "Local" ]?Set(__QUEUE_SRC_CHAN=${FROM_CHAN}))'."\n\t";
113
+        $conf .= 'same => n,ExecIf($[ "${FROM_CHAN}x" == "x" ]?Set(__FROM_CHAN=${IMPORT(${CUT(CHANNEL,\;,1)}\;${pl},BRIDGEPEER)}))'."\n\t";
114
+        $conf .= 'same => n,return'."\n\n";
115
+
116
+        $conf .= '[playback]'."\n";
117
+        $conf .= 'exten => s,1,Playback(hello_demo,noanswer)'."\n\t";
118
+        $conf .= 'same => n,ExecIf($["${SRC_BRIDGE_CHAN}x" == "x"]?Wait(30))'."\n\t";
119
+        $conf .= 'same => n,Wait(0.3)'."\n\t";
120
+        $conf .= 'same => n,Bridge(${SRC_BRIDGE_CHAN},kKTthH)'."\n\n";
121
+
122
+        $conf .= 'exten => h,1,ExecIf($["${ISTRANSFER}x" != "x"]?Gosub(${ISTRANSFER}dial_hangup,${EXTEN},1))'."\n\n";
123 123
 
124 124
         // TODO / Добавление / удаление префиксов на входящий callerid.
125
-        $conf .= '[add-trim-prefix-clid]' . "\n";
126
-        $conf .= 'exten => _.!,1,NoOp(--- Incoming call from ${CALLERID(num)} ---)' . "\n\t";
127
-        $conf .= 'same => n,GosubIf($["${DIALPLAN_EXISTS(${CONTEXT}-custom,${EXTEN},1)}" == "1"]?${CONTEXT}-custom,${EXTEN},1)' . "\n\t";
125
+        $conf .= '[add-trim-prefix-clid]'."\n";
126
+        $conf .= 'exten => _.!,1,NoOp(--- Incoming call from ${CALLERID(num)} ---)'."\n\t";
127
+        $conf .= 'same => n,GosubIf($["${DIALPLAN_EXISTS(${CONTEXT}-custom,${EXTEN},1)}" == "1"]?${CONTEXT}-custom,${EXTEN},1)'."\n\t";
128 128
         // Отсекаем "+".
129 129
         // $conf.= 'same => n,ExecIf( $["${CALLERID(num):0:1}" == "+"]?Set(CALLERID(num)=${CALLERID(num):1}))'."\n\t";
130 130
         // Отсекаем "7" и добавляем "8".
131 131
         // $conf.= 'same => n,ExecIf( $["${REGEX("^7[0-9]+" ${CALLERID(num)})}" == "1"]?Set(CALLERID(num)=8${CALLERID(num):1}))'."\n\t";
132
-        $conf .= 'same => n,return' . "\n\n";
132
+        $conf .= 'same => n,return'."\n\n";
133 133
     }
134 134
 
135 135
     /**
@@ -145,136 +145,136 @@  discard block
 block discarded – undo
145 145
         $additionalModules = $this->di->getShared('pbxConfModules');
146 146
         foreach ($additionalModules as $appClass) {
147 147
             $addition = $appClass->extensionGenContexts();
148
-            if (!empty($addition)){
149
-                $conf .=$appClass->confBlockWithComments($addition);
148
+            if (!empty($addition)) {
149
+                $conf .= $appClass->confBlockWithComments($addition);
150 150
             }
151 151
         }
152 152
         $conf .= "\n";
153 153
         $conf .= "[internal-num-undefined] \n";
154
-        $conf .= 'exten => _' . $extension . ',1,ExecIf($["${ISTRANSFER}x" != "x"]?Gosub(${ISTRANSFER}dial_hangup,${EXTEN},1))' . "\n\t";
155
-        $conf .= 'same => n,ExecIf($["${BLINDTRANSFER}x" != "x"]?AGI(check_redirect.php,${BLINDTRANSFER}))' . "\n\t";
154
+        $conf .= 'exten => _'.$extension.',1,ExecIf($["${ISTRANSFER}x" != "x"]?Gosub(${ISTRANSFER}dial_hangup,${EXTEN},1))'."\n\t";
155
+        $conf .= 'same => n,ExecIf($["${BLINDTRANSFER}x" != "x"]?AGI(check_redirect.php,${BLINDTRANSFER}))'."\n\t";
156 156
         $conf .= "same => n,Playback(pbx-invalid,noanswer) \n\n";
157 157
 
158 158
         $conf .= "[internal-fw]\n";
159
-        $conf .= 'exten => _' . $extension . ',1,NoOp(DIALSTATUS - ${DIALSTATUS})' . "\n\t";
159
+        $conf .= 'exten => _'.$extension.',1,NoOp(DIALSTATUS - ${DIALSTATUS})'."\n\t";
160 160
         // CANCEL - вызов был отменен, к примеру *0, не нужно дальше искать адресат.
161
-        $conf .= 'same => n,ExecIf($["${DIALSTATUS}" == "CANCEL"]?Hangup())' . "\n\t";
161
+        $conf .= 'same => n,ExecIf($["${DIALSTATUS}" == "CANCEL"]?Hangup())'."\n\t";
162 162
         // BUSY - занято. К примру абонент завершил вызов или DND.
163
-        $conf .= 'same => n,ExecIf($["${DIALSTATUS}" == "BUSY"]?Set(dstatus=FW_BUSY))' . "\n\t";
163
+        $conf .= 'same => n,ExecIf($["${DIALSTATUS}" == "BUSY"]?Set(dstatus=FW_BUSY))'."\n\t";
164 164
         // CHANUNAVAIL - канал не доступен. К примеру телефон не зарегистрирован или не отвечает.
165
-        $conf .= 'same => n,ExecIf($["${DIALSTATUS}" == "CHANUNAVAIL"]?Set(dstatus=FW_UNAV))' . "\n\t";
165
+        $conf .= 'same => n,ExecIf($["${DIALSTATUS}" == "CHANUNAVAIL"]?Set(dstatus=FW_UNAV))'."\n\t";
166 166
         // NOANSWER - не ответили по таймауту.
167
-        $conf .= 'same => n,ExecIf($["${dstatus}x" == "x"]?Set(dstatus=FW))' . "\n\t";
168
-        $conf .= 'same => n,Set(fw=${DB(${dstatus}/${EXTEN})})' . "\n\t";
169
-        $conf .= 'same => n,ExecIf($["${fw}x" != "x"]?Set(__pt1c_UNIQUEID=${UNDEFINED})' . "\n\t";
170
-        $conf .= 'same => n,ExecIf($["${fw}x" != "x"]?Goto(internal,${fw},1))' . "\n\t";
171
-        $conf .= 'same => n,ExecIf($["${BLINDTRANSFER}x" != "x"]?AGI(check_redirect.php,${BLINDTRANSFER}))' . "\n\t";
172
-        $conf .= 'same => n,Hangup() ' . "\n\n";
167
+        $conf .= 'same => n,ExecIf($["${dstatus}x" == "x"]?Set(dstatus=FW))'."\n\t";
168
+        $conf .= 'same => n,Set(fw=${DB(${dstatus}/${EXTEN})})'."\n\t";
169
+        $conf .= 'same => n,ExecIf($["${fw}x" != "x"]?Set(__pt1c_UNIQUEID=${UNDEFINED})'."\n\t";
170
+        $conf .= 'same => n,ExecIf($["${fw}x" != "x"]?Goto(internal,${fw},1))'."\n\t";
171
+        $conf .= 'same => n,ExecIf($["${BLINDTRANSFER}x" != "x"]?AGI(check_redirect.php,${BLINDTRANSFER}))'."\n\t";
172
+        $conf .= 'same => n,Hangup() '."\n\n";
173 173
 
174 174
         $conf .= "[all_peers]\n";
175
-        $conf .= 'include => internal-hints' . "\n";
176
-        $conf .= 'exten => failed,1,Hangup()' . "\n";
175
+        $conf .= 'include => internal-hints'."\n";
176
+        $conf .= 'exten => failed,1,Hangup()'."\n";
177 177
 
178
-        $conf .= 'exten => _.!,1,ExecIf($[ "${EXTEN}" == "h" ]?Hangup())' . "\n\t";
178
+        $conf .= 'exten => _.!,1,ExecIf($[ "${EXTEN}" == "h" ]?Hangup())'."\n\t";
179 179
         // Фильтр спецсимволов. Разершаем только цифры.
180
-        $conf .= 'same => n,Set(cleanNumber=${FILTER(\*\#1234567890,${EXTEN})})' . "\n\t";
181
-        $conf .= 'same => n,ExecIf($["${EXTEN}" != "${cleanNumber}"]?Goto(${CONTEXT},${cleanNumber},$[${PRIORITY} + 1]))' . "\n\t";
180
+        $conf .= 'same => n,Set(cleanNumber=${FILTER(\*\#1234567890,${EXTEN})})'."\n\t";
181
+        $conf .= 'same => n,ExecIf($["${EXTEN}" != "${cleanNumber}"]?Goto(${CONTEXT},${cleanNumber},$[${PRIORITY} + 1]))'."\n\t";
182 182
 
183
-        $conf .= 'same => n,Set(__FROM_CHAN=${CHANNEL})' . "\n\t";
184
-        $conf .= 'same => n,ExecIf($["${OLD_LINKEDID}x" == "x"]?Set(__OLD_LINKEDID=${CDR(linkedid)}))' . "\n\t";
185
-        $conf .= 'same => n,ExecIf($["${CHANNEL(channeltype)}" != "Local"]?Gosub(set_from_peer,s,1))' . "\n\t";
186
-        $conf .= 'same => n,ExecIf($["${CHANNEL(channeltype)}" == "Local"]?Gosub(set_orign_chan,s,1))' . "\n\t";
183
+        $conf .= 'same => n,Set(__FROM_CHAN=${CHANNEL})'."\n\t";
184
+        $conf .= 'same => n,ExecIf($["${OLD_LINKEDID}x" == "x"]?Set(__OLD_LINKEDID=${CDR(linkedid)}))'."\n\t";
185
+        $conf .= 'same => n,ExecIf($["${CHANNEL(channeltype)}" != "Local"]?Gosub(set_from_peer,s,1))'."\n\t";
186
+        $conf .= 'same => n,ExecIf($["${CHANNEL(channeltype)}" == "Local"]?Gosub(set_orign_chan,s,1))'."\n\t";
187 187
 
188
-        $conf .= 'same => n,ExecIf($["${CALLERID(num)}x" == "x"]?Set(CALLERID(num)=${FROM_PEER}))' . "\n\t";
189
-        $conf .= 'same => n,ExecIf($["${CALLERID(num)}x" == "x"]?Set(CALLERID(name)=${FROM_PEER}))' . "\n\t";
188
+        $conf .= 'same => n,ExecIf($["${CALLERID(num)}x" == "x"]?Set(CALLERID(num)=${FROM_PEER}))'."\n\t";
189
+        $conf .= 'same => n,ExecIf($["${CALLERID(num)}x" == "x"]?Set(CALLERID(name)=${FROM_PEER}))'."\n\t";
190 190
 
191
-        $conf .= 'same => n,ExecIf($["${CHANNEL(channeltype)}" == "Local" && "${FROM_PEER}x" == "x"]?Set(__FROM_PEER=${CALLERID(num)}))' . "\n\t";
192
-        $conf .= 'same => n,Set(CHANNEL(hangup_handler_wipe)=hangup_handler,s,1)' . "\n\t";
193
-        $conf .= 'same => n,Gosub(${ISTRANSFER}dial,${EXTEN},1)' . "\n\t";
191
+        $conf .= 'same => n,ExecIf($["${CHANNEL(channeltype)}" == "Local" && "${FROM_PEER}x" == "x"]?Set(__FROM_PEER=${CALLERID(num)}))'."\n\t";
192
+        $conf .= 'same => n,Set(CHANNEL(hangup_handler_wipe)=hangup_handler,s,1)'."\n\t";
193
+        $conf .= 'same => n,Gosub(${ISTRANSFER}dial,${EXTEN},1)'."\n\t";
194 194
 
195 195
         // Описываем возможность прыжка в пользовательский sub контекст.
196
-        $conf .= 'same => n,GosubIf($["${DIALPLAN_EXISTS(${CONTEXT}-custom,${EXTEN},1)}" == "1"]?${CONTEXT}-custom,${EXTEN},1)' . "\n\t";
196
+        $conf .= 'same => n,GosubIf($["${DIALPLAN_EXISTS(${CONTEXT}-custom,${EXTEN},1)}" == "1"]?${CONTEXT}-custom,${EXTEN},1)'."\n\t";
197 197
 
198
-        $conf .= 'same => n,Goto(peer_${FROM_PEER},${EXTEN},1)' . "\n\n";
198
+        $conf .= 'same => n,Goto(peer_${FROM_PEER},${EXTEN},1)'."\n\n";
199 199
 
200
-        $pickupexten =  $this->generalSettings['PBXFeaturePickupExten'];
201
-        $conf        .= 'exten => _' . $pickupexten . $extension . ',1,Set(PICKUPEER=' . $technology . '/${FILTER(0-9,${EXTEN:2})})' . "\n\t";
202
-        $conf        .= 'same => n,Set(pt1c_dnid=${EXTEN})' . "\n\t";
203
-        $conf        .= 'same => n,PickupChan(${PICKUPEER})' . "\n\t";
204
-        $conf        .= 'same => n,Hangup()' . "\n\n";
200
+        $pickupexten = $this->generalSettings['PBXFeaturePickupExten'];
201
+        $conf        .= 'exten => _'.$pickupexten.$extension.',1,Set(PICKUPEER='.$technology.'/${FILTER(0-9,${EXTEN:2})})'."\n\t";
202
+        $conf        .= 'same => n,Set(pt1c_dnid=${EXTEN})'."\n\t";
203
+        $conf        .= 'same => n,PickupChan(${PICKUPEER})'."\n\t";
204
+        $conf        .= 'same => n,Hangup()'."\n\n";
205 205
 
206 206
         $voicemail_exten = $this->generalSettings['VoicemailExten'];
207
-        $conf            .= 'exten => ' . $voicemail_exten . ',1,NoOp(NOTICE, Dialing out from ${CALLERID(all)} to VoiceMail)' . "\n\t";
208
-        $conf            .= 'same => n,VoiceMailMain(admin@voicemailcontext,s)' . "\n\t";
209
-        $conf            .= 'same => n,Hangup()' . "\n\n";
207
+        $conf            .= 'exten => '.$voicemail_exten.',1,NoOp(NOTICE, Dialing out from ${CALLERID(all)} to VoiceMail)'."\n\t";
208
+        $conf            .= 'same => n,VoiceMailMain(admin@voicemailcontext,s)'."\n\t";
209
+        $conf            .= 'same => n,Hangup()'."\n\n";
210 210
 
211 211
         $conf .= "[voice_mail_peer] \n";
212
-        $conf .= 'exten => voicemail,1,Answer()' . "\n\t";
213
-        $conf .= 'same => n,VoiceMail(admin@voicemailcontext)' . "\n\t";
214
-        $conf .= 'same => n,Hangup()' . "\n\n";
212
+        $conf .= 'exten => voicemail,1,Answer()'."\n\t";
213
+        $conf .= 'same => n,VoiceMail(admin@voicemailcontext)'."\n\t";
214
+        $conf .= 'same => n,Hangup()'."\n\n";
215 215
 
216 216
         // Контекст для внутренних вызовов.
217 217
         $conf .= "[internal] \n";
218 218
 
219 219
         foreach ($additionalModules as $appClass) {
220 220
             $addition = $appClass->getIncludeInternal();
221
-            if (!empty($addition)){
222
-                $conf .=$appClass->confBlockWithComments($addition);
221
+            if (!empty($addition)) {
222
+                $conf .= $appClass->confBlockWithComments($addition);
223 223
             }
224 224
         }
225 225
 
226 226
         foreach ($additionalModules as $appClass) {
227 227
             $addition = $appClass->extensionGenInternal();
228
-            if (!empty($addition)){
229
-                $conf .=$appClass->confBlockWithComments($addition);
228
+            if (!empty($addition)) {
229
+                $conf .= $appClass->confBlockWithComments($addition);
230 230
             }
231 231
         }
232 232
 
233
-        $conf .= 'exten => i,1,NoOp(-- INVALID NUMBER --)' . "\n\t";
234
-        $conf .= 'same => n,Set(DIALSTATUS=INVALID_NUMBER)' . "\n\t";
235
-        $conf .= 'same => n,Playback(privacy-incorrect,noanswer)' . "\n\t";
236
-        $conf .= 'same => n,Hangup()' . "\n";
233
+        $conf .= 'exten => i,1,NoOp(-- INVALID NUMBER --)'."\n\t";
234
+        $conf .= 'same => n,Set(DIALSTATUS=INVALID_NUMBER)'."\n\t";
235
+        $conf .= 'same => n,Playback(privacy-incorrect,noanswer)'."\n\t";
236
+        $conf .= 'same => n,Hangup()'."\n";
237 237
 
238
-        $conf .= 'exten => h,1,ExecIf($["${ISTRANSFER}x" != "x"]?Gosub(${ISTRANSFER}dial_hangup,${EXTEN},1))' . "\n\n";
238
+        $conf .= 'exten => h,1,ExecIf($["${ISTRANSFER}x" != "x"]?Gosub(${ISTRANSFER}dial_hangup,${EXTEN},1))'."\n\n";
239 239
 
240 240
         $conf .= "[internal-incoming]\n";
241
-        $conf .= 'exten => _.!,1,ExecIf($["${MASTER_CHANNEL(M_TIMEOUT)}x" != "x"]?Set(TIMEOUT(absolute)=${MASTER_CHANNEL(M_TIMEOUT)}))' . " \n\t";
242
-        $conf .= 'same => n,Set(MASTER_CHANNEL(M_TIMEOUT_CHANNEL)=${CHANNEL})' . " \n\t";
243
-        $conf .= 'same => n,Set(MASTER_CHANNEL(M_TIMEOUT)=${EMPTY_VAR})' . " \n\t";
244
-        $conf .= 'same => n,Goto(internal,${EXTEN},1)' . " \n\n";
241
+        $conf .= 'exten => _.!,1,ExecIf($["${MASTER_CHANNEL(M_TIMEOUT)}x" != "x"]?Set(TIMEOUT(absolute)=${MASTER_CHANNEL(M_TIMEOUT)}))'." \n\t";
242
+        $conf .= 'same => n,Set(MASTER_CHANNEL(M_TIMEOUT_CHANNEL)=${CHANNEL})'." \n\t";
243
+        $conf .= 'same => n,Set(MASTER_CHANNEL(M_TIMEOUT)=${EMPTY_VAR})'." \n\t";
244
+        $conf .= 'same => n,Goto(internal,${EXTEN},1)'." \n\n";
245 245
 
246 246
         $conf .= "[internal-users] \n";
247
-        $conf .= 'exten => _' . $extension . ',1,Set(CHANNEL(hangup_handler_wipe)=hangup_handler,s,1)' . " \n\t";
248
-        $conf .= 'same => n,ExecIf($["${ISTRANSFER}x" != "x"]?Set(SIPADDHEADER01=${EMPTY_VAR})' . " \n\t";
249
-        $conf .= 'same => n,ExecIf($["${CHANNEL(channeltype)}" == "Local"]?Gosub(set_orign_chan,s,1))' . " \n\t";
247
+        $conf .= 'exten => _'.$extension.',1,Set(CHANNEL(hangup_handler_wipe)=hangup_handler,s,1)'." \n\t";
248
+        $conf .= 'same => n,ExecIf($["${ISTRANSFER}x" != "x"]?Set(SIPADDHEADER01=${EMPTY_VAR})'." \n\t";
249
+        $conf .= 'same => n,ExecIf($["${CHANNEL(channeltype)}" == "Local"]?Gosub(set_orign_chan,s,1))'." \n\t";
250 250
 
251
-        $conf .= 'same => n,Gosub(${ISTRANSFER}dial,${EXTEN},1)' . "\n\t";
251
+        $conf .= 'same => n,Gosub(${ISTRANSFER}dial,${EXTEN},1)'."\n\t";
252 252
         // Проверим, существует ли такой пир.
253 253
 
254
-        $conf .= 'same => n,ExecIf($["${PJSIP_ENDPOINT(${EXTEN},auth)}x" == "x"]?Goto(internal-num-undefined,${EXTEN},1))' . " \n\t";
255
-        $conf .= 'same => n,ExecIf($["${DEVICE_STATE(' . $technology . '/${EXTEN})}" == "BUSY"]?Set(DIALSTATUS=BUSY))' . " \n\t";
256
-        $conf .= 'same => n,GotoIf($["${DEVICE_STATE(' . $technology . '/${EXTEN})}" == "BUSY"]?fw_start)' . " \n\t";
254
+        $conf .= 'same => n,ExecIf($["${PJSIP_ENDPOINT(${EXTEN},auth)}x" == "x"]?Goto(internal-num-undefined,${EXTEN},1))'." \n\t";
255
+        $conf .= 'same => n,ExecIf($["${DEVICE_STATE('.$technology.'/${EXTEN})}" == "BUSY"]?Set(DIALSTATUS=BUSY))'." \n\t";
256
+        $conf .= 'same => n,GotoIf($["${DEVICE_STATE('.$technology.'/${EXTEN})}" == "BUSY"]?fw_start)'." \n\t";
257 257
 
258 258
         // Как долго звонить пиру.
259
-        $conf .= 'same => n,Set(ringlength=${DB(FW_TIME/${EXTEN})})' . " \n\t";
260
-        $conf .= 'same => n,ExecIf($["${ringlength}x" == "x"]?Set(ringlength=600))' . " \n\t";
261
-        $conf .= 'same => n,ExecIf($["${QUEUE_SRC_CHAN}x" != "x" && "${ISTRANSFER}x" == "x"]?Set(ringlength=600))' . " \n\t";
259
+        $conf .= 'same => n,Set(ringlength=${DB(FW_TIME/${EXTEN})})'." \n\t";
260
+        $conf .= 'same => n,ExecIf($["${ringlength}x" == "x"]?Set(ringlength=600))'." \n\t";
261
+        $conf .= 'same => n,ExecIf($["${QUEUE_SRC_CHAN}x" != "x" && "${ISTRANSFER}x" == "x"]?Set(ringlength=600))'." \n\t";
262 262
 
263
-        $conf .= 'same => n,GosubIf($["${DIALPLAN_EXISTS(${CONTEXT}-custom,${EXTEN},1)}" == "1"]?${CONTEXT}-custom,${EXTEN},1) ' . " \n\t";
263
+        $conf .= 'same => n,GosubIf($["${DIALPLAN_EXISTS(${CONTEXT}-custom,${EXTEN},1)}" == "1"]?${CONTEXT}-custom,${EXTEN},1) '." \n\t";
264 264
         // Совершаем вызов пира.
265
-        $conf .= 'same => n,Set(DST_CONTACT=${PJSIP_DIAL_CONTACTS(${EXTEN})})' . " \n\t";
266
-        $conf .= 'same => n,ExecIf($["${FIELDQTY(DST_CONTACT,&)}" != "1"]?Set(__PT1C_SIP_HEADER=${EMPTY_VAR}))' . " \n\t";
267
-        $conf .= 'same => n,ExecIf($["${DST_CONTACT}x" != "x"]?Dial(${DST_CONTACT},${ringlength},cTtekKHhU(${ISTRANSFER}dial_answer)b(dial_create_chan,s,1)):Set(DIALSTATUS=CHANUNAVAIL))' . " \n\t";
268
-        $conf .= 'same => n(fw_start),NoOp(dial_hangup)' . " \n\t";
265
+        $conf .= 'same => n,Set(DST_CONTACT=${PJSIP_DIAL_CONTACTS(${EXTEN})})'." \n\t";
266
+        $conf .= 'same => n,ExecIf($["${FIELDQTY(DST_CONTACT,&)}" != "1"]?Set(__PT1C_SIP_HEADER=${EMPTY_VAR}))'." \n\t";
267
+        $conf .= 'same => n,ExecIf($["${DST_CONTACT}x" != "x"]?Dial(${DST_CONTACT},${ringlength},cTtekKHhU(${ISTRANSFER}dial_answer)b(dial_create_chan,s,1)):Set(DIALSTATUS=CHANUNAVAIL))'." \n\t";
268
+        $conf .= 'same => n(fw_start),NoOp(dial_hangup)'." \n\t";
269 269
 
270 270
         // QUEUE_SRC_CHAN - установлена, если вызов сервершен агенту очереди.
271 271
         // Проверяем нужна ли переадресация
272
-        $conf       .= 'same => n,ExecIf($["${DIALSTATUS}" != "ANSWER" && "${ISTRANSFER}x" != "x"]?Goto(internal-fw,${EXTEN},1))' . " \n\t";
273
-        $conf       .= 'same => n,ExecIf($["${DIALSTATUS}" != "ANSWER" && "${QUEUE_SRC_CHAN}x" == "x"]?Goto(internal-fw,${EXTEN},1))' . " \n\t";
274
-        $conf       .= 'same => n,ExecIf($["${BLINDTRANSFER}x" != "x"]?AGI(check_redirect.php,${BLINDTRANSFER}))' . " \n\t";
275
-        $conf       .= 'same => n,Hangup()' . "\n\n";
272
+        $conf       .= 'same => n,ExecIf($["${DIALSTATUS}" != "ANSWER" && "${ISTRANSFER}x" != "x"]?Goto(internal-fw,${EXTEN},1))'." \n\t";
273
+        $conf       .= 'same => n,ExecIf($["${DIALSTATUS}" != "ANSWER" && "${QUEUE_SRC_CHAN}x" == "x"]?Goto(internal-fw,${EXTEN},1))'." \n\t";
274
+        $conf       .= 'same => n,ExecIf($["${BLINDTRANSFER}x" != "x"]?AGI(check_redirect.php,${BLINDTRANSFER}))'." \n\t";
275
+        $conf       .= 'same => n,Hangup()'."\n\n";
276 276
 
277
-        $conf .= 'exten => h,1,ExecIf($["${ISTRANSFER}x" != "x"]?Gosub(${ISTRANSFER}dial_hangup,${EXTEN},1))' . "\n\n";
277
+        $conf .= 'exten => h,1,ExecIf($["${ISTRANSFER}x" != "x"]?Gosub(${ISTRANSFER}dial_hangup,${EXTEN},1))'."\n\n";
278 278
     }
279 279
 
280 280
     /**
@@ -285,22 +285,22 @@  discard block
 block discarded – undo
285 285
     private function generateInternalTransfer(&$conf): void
286 286
     {
287 287
         $additionalModules = $this->di->getShared('pbxConfModules');
288
-        $conf              .= "[internal-transfer] \n";
288
+        $conf .= "[internal-transfer] \n";
289 289
 
290 290
         foreach ($additionalModules as $appClass) {
291
-            $addition= $appClass->getIncludeInternalTransfer();
292
-            if (!empty($addition)){
293
-                $conf .=$appClass->confBlockWithComments($addition);
291
+            $addition = $appClass->getIncludeInternalTransfer();
292
+            if (!empty($addition)) {
293
+                $conf .= $appClass->confBlockWithComments($addition);
294 294
             }
295 295
         }
296 296
 
297 297
         foreach ($additionalModules as $appClass) {
298
-            $addition= $appClass->extensionGenInternalTransfer();
299
-            if (!empty($addition)){
300
-                $conf .=$appClass->confBlockWithComments($addition);
298
+            $addition = $appClass->extensionGenInternalTransfer();
299
+            if (!empty($addition)) {
300
+                $conf .= $appClass->confBlockWithComments($addition);
301 301
             }
302 302
         }
303
-        $conf .= 'exten => h,1,Gosub(transfer_dial_hangup,${EXTEN},1)' . "\n\n";
303
+        $conf .= 'exten => h,1,Gosub(transfer_dial_hangup,${EXTEN},1)'."\n\n";
304 304
     }
305 305
 
306 306
     /**
@@ -311,11 +311,11 @@  discard block
 block discarded – undo
311 311
     private function generateSipHints(&$conf): void
312 312
     {
313 313
         $additionalModules = $this->di->getShared('pbxConfModules');
314
-        $conf              .= "[internal-hints] \n";
314
+        $conf .= "[internal-hints] \n";
315 315
         foreach ($additionalModules as $appClass) {
316 316
             $addition = $appClass->extensionGenHints();
317
-            if (!empty($addition)){
318
-                $conf .=$appClass->confBlockWithComments($addition);
317
+            if (!empty($addition)) {
318
+                $conf .= $appClass->confBlockWithComments($addition);
319 319
             }
320 320
         }
321 321
         $conf .= "\n\n";
@@ -329,16 +329,16 @@  discard block
 block discarded – undo
329 329
     private function generateOutContextPeers(&$conf): void
330 330
     {
331 331
         $additionalModules = $this->di->getShared('pbxConfModules');
332
-        $conf              .= "[outgoing] \n";
332
+        $conf .= "[outgoing] \n";
333 333
 
334
-        $conf .= 'exten => _+.!,1,NoOp(Strip + sign from number and convert it to +)' . " \n\t";
335
-        $conf .= 'same => n,Set(ADDPLUS=+);' . " \n\t";
336
-        $conf .= 'same => n,Goto(${CONTEXT},${EXTEN:1},1);' . " \n\n";
337
-        $conf .= 'exten => _X!,1,NoOp(Start outgoing calling...)' . " \n\t";
338
-        $conf .= 'same => n,Ringing()' . " \n\t";
334
+        $conf .= 'exten => _+.!,1,NoOp(Strip + sign from number and convert it to +)'." \n\t";
335
+        $conf .= 'same => n,Set(ADDPLUS=+);'." \n\t";
336
+        $conf .= 'same => n,Goto(${CONTEXT},${EXTEN:1},1);'." \n\n";
337
+        $conf .= 'exten => _X!,1,NoOp(Start outgoing calling...)'." \n\t";
338
+        $conf .= 'same => n,Ringing()'." \n\t";
339 339
 
340 340
         // Описываем возможность прыжка в пользовательский sub контекст.
341
-        $conf .= 'same => n,GosubIf($["${DIALPLAN_EXISTS(${CONTEXT}-custom,${EXTEN},1)}" == "1"]?${CONTEXT}-custom,${EXTEN},1)' . "\n\t";
341
+        $conf .= 'same => n,GosubIf($["${DIALPLAN_EXISTS(${CONTEXT}-custom,${EXTEN},1)}" == "1"]?${CONTEXT}-custom,${EXTEN},1)'."\n\t";
342 342
 
343 343
         /** @var \MikoPBX\Common\Models\OutgoingRoutingTable $routs */
344 344
         /** @var \MikoPBX\Common\Models\OutgoingRoutingTable $rout */
@@ -350,66 +350,66 @@  discard block
 block discarded – undo
350 350
             if ($technology !== '') {
351 351
                     $rout_data                       = $rout->toArray();
352 352
                     $rout_data['technology']         = $technology;
353
-                    $id_dialplan                     = $rout_data['providerid'] . '-' . $rout_data['id'] . '-outgoing';
353
+                    $id_dialplan                     = $rout_data['providerid'].'-'.$rout_data['id'].'-outgoing';
354 354
                     $provider_contexts[$id_dialplan] = $rout_data;
355
-                    $conf                            .= $this->generateOutgoingRegexPattern($rout_data);
355
+                    $conf .= $this->generateOutgoingRegexPattern($rout_data);
356 356
                     continue;
357 357
             }
358 358
         }
359
-        $conf .= 'same => n,ExecIf($["${peer_mobile}x" != "x"]?Hangup())' . " \n\t";
360
-        $conf .= 'same => n,ExecIf($["${DIALSTATUS}" != "ANSWER" && "${BLINDTRANSFER}x" != "x" && "${ISTRANSFER}x" != "x"]?Gosub(${ISTRANSFER}dial_hangup,${EXTEN},1))' . "\n\t";
361
-        $conf .= 'same => n,ExecIf($["${BLINDTRANSFER}x" != "x"]?AGI(check_redirect.php,${BLINDTRANSFER}))' . " \n\t";
362
-        $conf .= 'same => n,ExecIf($["${ROUTFOUND}x" == "x"]?Gosub(dial,${EXTEN},1))' . "\n\t";
359
+        $conf .= 'same => n,ExecIf($["${peer_mobile}x" != "x"]?Hangup())'." \n\t";
360
+        $conf .= 'same => n,ExecIf($["${DIALSTATUS}" != "ANSWER" && "${BLINDTRANSFER}x" != "x" && "${ISTRANSFER}x" != "x"]?Gosub(${ISTRANSFER}dial_hangup,${EXTEN},1))'."\n\t";
361
+        $conf .= 'same => n,ExecIf($["${BLINDTRANSFER}x" != "x"]?AGI(check_redirect.php,${BLINDTRANSFER}))'." \n\t";
362
+        $conf .= 'same => n,ExecIf($["${ROUTFOUND}x" == "x"]?Gosub(dial,${EXTEN},1))'."\n\t";
363 363
 
364
-        $conf .= 'same => n,Playback(silence/2,noanswer)' . " \n\t";
365
-        $conf .= 'same => n,ExecIf($["${ROUTFOUND}x" != "x"]?Playback(followme/sorry,noanswer):Playback(cannot-complete-as-dialed,noanswer))' . " \n\t";
366
-        $conf .= 'same => n,Hangup()' . " \n\n";
367
-        $conf .= 'exten => h,1,ExecIf($["${ISTRANSFER}x" != "x"]?Gosub(${ISTRANSFER}dial_hangup,${EXTEN},1))' . "\n\t";
364
+        $conf .= 'same => n,Playback(silence/2,noanswer)'." \n\t";
365
+        $conf .= 'same => n,ExecIf($["${ROUTFOUND}x" != "x"]?Playback(followme/sorry,noanswer):Playback(cannot-complete-as-dialed,noanswer))'." \n\t";
366
+        $conf .= 'same => n,Hangup()'." \n\n";
367
+        $conf .= 'exten => h,1,ExecIf($["${ISTRANSFER}x" != "x"]?Gosub(${ISTRANSFER}dial_hangup,${EXTEN},1))'."\n\t";
368 368
 
369 369
         foreach ($provider_contexts as $id_dialplan => $rout) {
370 370
             $conf .= "\n[{$id_dialplan}]\n";
371 371
             if (isset($rout['trimfrombegin']) && $rout['trimfrombegin'] > 0) {
372 372
                 // $exten_var = '${ADDPLUS}${EXTEN:'.$rout['trimfrombegin'].'}';
373
-                $exten_var    = '${EXTEN:' . $rout['trimfrombegin'] . '}';
374
-                $change_exten = 'same => n,ExecIf($["${EXTEN}" != "${number}"]?Goto(${CONTEXT},${number},$[${PRIORITY} + 1]))' . "\n\t";
373
+                $exten_var    = '${EXTEN:'.$rout['trimfrombegin'].'}';
374
+                $change_exten = 'same => n,ExecIf($["${EXTEN}" != "${number}"]?Goto(${CONTEXT},${number},$[${PRIORITY} + 1]))'."\n\t";
375 375
             } else {
376 376
                 $exten_var    = '${ADDPLUS}${EXTEN}';
377 377
                 $change_exten = '';
378 378
             }
379
-            $conf .= 'exten => _X!,1,Set(number=' . $rout['prepend'] . $exten_var . ')' . "\n\t";
379
+            $conf .= 'exten => _X!,1,Set(number='.$rout['prepend'].$exten_var.')'."\n\t";
380 380
             $conf .= $change_exten;
381 381
             foreach ($additionalModules as $appClass) {
382 382
                 $addition = $appClass->generateOutRoutContext($rout);
383
-                if (!empty($addition)){
384
-                    $conf .=$appClass->confBlockWithComments($addition);
383
+                if (!empty($addition)) {
384
+                    $conf .= $appClass->confBlockWithComments($addition);
385 385
                 }
386 386
             }
387
-            $conf .= 'same => n,ExecIf($["${number}x" == "x"]?Hangup())' . "\n\t";
388
-            $conf .= 'same => n,Set(ROUTFOUND=1)' . "\n\t";
389
-            $conf .= 'same => n,Gosub(${ISTRANSFER}dial,${EXTEN},1)' . "\n\t";
387
+            $conf .= 'same => n,ExecIf($["${number}x" == "x"]?Hangup())'."\n\t";
388
+            $conf .= 'same => n,Set(ROUTFOUND=1)'."\n\t";
389
+            $conf .= 'same => n,Gosub(${ISTRANSFER}dial,${EXTEN},1)'."\n\t";
390 390
 
391
-            $conf .= 'same => n,ExecIf($["${EXTERNALPHONE}" == "${EXTEN}"]?Set(DOPTIONS=tk))' . "\n\t";
391
+            $conf .= 'same => n,ExecIf($["${EXTERNALPHONE}" == "${EXTEN}"]?Set(DOPTIONS=tk))'."\n\t";
392 392
 
393 393
             // Описываем возможность прыжка в пользовательский sub контекст.
394
-            $conf .= 'same => n,GosubIf($["${DIALPLAN_EXISTS(' . $rout['providerid'] . '-outgoing-custom,${EXTEN},1)}" == "1"]?' . $rout['providerid'] . '-outgoing-custom,${EXTEN},1)' . "\n\t";
394
+            $conf .= 'same => n,GosubIf($["${DIALPLAN_EXISTS('.$rout['providerid'].'-outgoing-custom,${EXTEN},1)}" == "1"]?'.$rout['providerid'].'-outgoing-custom,${EXTEN},1)'."\n\t";
395 395
 
396 396
             if ($rout['technology'] === IAXConf::TYPE_IAX2) {
397
-                $conf .= 'same => n,Dial(' . $rout['technology'] . '/' . $rout['providerid'] . '/${number},600,${DOPTIONS}TKU(dial_answer)b(dial_create_chan,s,1))' . "\n\t";
397
+                $conf .= 'same => n,Dial('.$rout['technology'].'/'.$rout['providerid'].'/${number},600,${DOPTIONS}TKU(dial_answer)b(dial_create_chan,s,1))'."\n\t";
398 398
             } else {
399
-                $conf .= 'same => n,Dial(' . $rout['technology'] . '/${number}@' . $rout['providerid'] . ',600,${DOPTIONS}TKU(dial_answer)b(dial_create_chan,s,1))' . "\n\t";
399
+                $conf .= 'same => n,Dial('.$rout['technology'].'/${number}@'.$rout['providerid'].',600,${DOPTIONS}TKU(dial_answer)b(dial_create_chan,s,1))'."\n\t";
400 400
             }
401 401
             foreach ($additionalModules as $appClass) {
402 402
                 $addition = $appClass->generateOutRoutAfterDialContext($rout);
403
-                if (!empty($addition)){
404
-                    $conf .=$appClass->confBlockWithComments($addition);
403
+                if (!empty($addition)) {
404
+                    $conf .= $appClass->confBlockWithComments($addition);
405 405
                 }
406 406
             }
407
-            $conf .= 'same => n,GosubIf($["${DIALPLAN_EXISTS(' . $rout['providerid'] . '-outgoing-after-dial-custom,${EXTEN}),1}" == "1"]?' . $rout['providerid'] . '-outgoing-after-dial-custom,${EXTEN},1)' . "\n\t";
407
+            $conf .= 'same => n,GosubIf($["${DIALPLAN_EXISTS('.$rout['providerid'].'-outgoing-after-dial-custom,${EXTEN}),1}" == "1"]?'.$rout['providerid'].'-outgoing-after-dial-custom,${EXTEN},1)'."\n\t";
408 408
 
409
-            $conf .= 'same => n,ExecIf($["${ISTRANSFER}x" != "x"]?Gosub(${ISTRANSFER}dial_hangup,${EXTEN},1))' . "\n\t";
410
-            $conf .= 'same => n,ExecIf($["${DIALSTATUS}" = "ANSWER"]?Hangup())' . "\n\t";
411
-            $conf .= 'same => n,Set(pt1c_UNIQUEID=${EMPTY_VALUE})' . "\n\t";
412
-            $conf .= 'same => n,return' . "\n";
409
+            $conf .= 'same => n,ExecIf($["${ISTRANSFER}x" != "x"]?Gosub(${ISTRANSFER}dial_hangup,${EXTEN},1))'."\n\t";
410
+            $conf .= 'same => n,ExecIf($["${DIALSTATUS}" = "ANSWER"]?Hangup())'."\n\t";
411
+            $conf .= 'same => n,Set(pt1c_UNIQUEID=${EMPTY_VALUE})'."\n\t";
412
+            $conf .= 'same => n,return'."\n";
413 413
         }
414 414
     }
415 415
 
@@ -425,14 +425,14 @@  discard block
 block discarded – undo
425 425
         $conf        = '';
426 426
         $restnumbers = '';
427 427
         if (isset($rout['restnumbers']) && $rout['restnumbers'] > 0) {
428
-            $restnumbers = "[0-9]{" . $rout['restnumbers'] . "}$";
428
+            $restnumbers = "[0-9]{".$rout['restnumbers']."}$";
429 429
         } elseif ($rout['restnumbers'] == 0) {
430 430
             $restnumbers = "$";
431 431
         } elseif ($rout['restnumbers'] == -1) {
432 432
             $restnumbers = "";
433 433
         }
434 434
         $numberbeginswith = $rout['numberbeginswith'];
435
-        $conf             .= 'same => n,ExecIf($["${REGEX("^' . $numberbeginswith . $restnumbers . '" ${EXTEN})}" == "1"]?Gosub(' . $rout['providerid'] . '-' . $rout['id'] . '-outgoing,${EXTEN},1))' . " \n\t";
435
+        $conf .= 'same => n,ExecIf($["${REGEX("^'.$numberbeginswith.$restnumbers.'" ${EXTEN})}" == "1"]?Gosub('.$rout['providerid'].'-'.$rout['id'].'-outgoing,${EXTEN},1))'." \n\t";
436 436
 
437 437
         return $conf;
438 438
     }
@@ -449,7 +449,7 @@  discard block
 block discarded – undo
449 449
         $conf              .= self::generateIncomingContextPeers('none', '', '');
450 450
         $conf              .= "[public-direct-dial] \n";
451 451
         foreach ($additionalModules as $appClass) {
452
-            if ($appClass instanceof $this){
452
+            if ($appClass instanceof $this) {
453 453
                 continue;
454 454
             }
455 455
             $appClass->generatePublicContext($conf);
@@ -479,7 +479,7 @@  discard block
 block discarded – undo
479 479
         $conf              = '';
480 480
         $dialplan          = [];
481 481
         $di = Di::getDefault();
482
-        if ($di===null){
482
+        if ($di === null) {
483 483
             return '';
484 484
         }
485 485
         $additionalModules = $di->getShared('pbxConfModules');
@@ -534,48 +534,48 @@  discard block
 block discarded – undo
534 534
             if (empty($rout_data)) {
535 535
                 $ext_prefix = ('none' === $provider) ? '' : '_';
536 536
                 $rout_data  .= "exten => {$ext_prefix}{$rout_number},1,NoOp(--- Incoming call ---)\n\t";
537
-                $rout_data  .= 'same => n,Set(CHANNEL(language)=' . $lang . ')' . "\n\t";
538
-                $rout_data  .= 'same => n,Set(CHANNEL(hangup_handler_wipe)=hangup_handler,s,1)' . "\n\t";
539
-                $rout_data  .= 'same => n,Set(__FROM_DID=${EXTEN})' . "\n\t";
540
-                $rout_data  .= 'same => n,Set(__FROM_CHAN=${CHANNEL})' . "\n\t";
537
+                $rout_data  .= 'same => n,Set(CHANNEL(language)='.$lang.')'."\n\t";
538
+                $rout_data  .= 'same => n,Set(CHANNEL(hangup_handler_wipe)=hangup_handler,s,1)'."\n\t";
539
+                $rout_data  .= 'same => n,Set(__FROM_DID=${EXTEN})'."\n\t";
540
+                $rout_data  .= 'same => n,Set(__FROM_CHAN=${CHANNEL})'."\n\t";
541 541
 
542 542
                 // Установка имени пира.
543
-                $rout_data .= 'same => n,ExecIf($["${CHANNEL(channeltype)}" != "Local"]?Gosub(set_from_peer,s,1))' . "\n\t";
544
-                $rout_data .= 'same => n,ExecIf($["${CHANNEL(channeltype)}" == "Local"]?Set(__FROM_PEER=${CALLERID(num)}))' . "\n\t";
543
+                $rout_data .= 'same => n,ExecIf($["${CHANNEL(channeltype)}" != "Local"]?Gosub(set_from_peer,s,1))'."\n\t";
544
+                $rout_data .= 'same => n,ExecIf($["${CHANNEL(channeltype)}" == "Local"]?Set(__FROM_PEER=${CALLERID(num)}))'."\n\t";
545 545
 
546 546
                 // TODO / Подмена входящего callerid.
547
-                $rout_data .= 'same => n,Gosub(add-trim-prefix-clid,${EXTEN},1)' . "\n\t";
547
+                $rout_data .= 'same => n,Gosub(add-trim-prefix-clid,${EXTEN},1)'."\n\t";
548 548
 
549 549
                 foreach ($additionalModules as $appClass) {
550 550
                      $addition = $appClass->generateIncomingRoutBeforeDial($rout_number);
551
-                     if (!empty($addition)){
552
-                         $rout_data .=$appClass->confBlockWithComments($addition);
551
+                     if (!empty($addition)) {
552
+                         $rout_data .= $appClass->confBlockWithComments($addition);
553 553
                      }
554 554
                  }
555 555
 
556 556
                 // Перехват на ответственного.
557
-                $rout_data .= 'same => n,UserEvent(Interception,CALLERID: ${CALLERID(num)},chan1c: ${CHANNEL},FROM_DID: ${FROM_DID})' . "\n\t";
557
+                $rout_data .= 'same => n,UserEvent(Interception,CALLERID: ${CALLERID(num)},chan1c: ${CHANNEL},FROM_DID: ${FROM_DID})'."\n\t";
558 558
                 // Проверим распискние для входящих внешних звонков.
559 559
                 $rout_data .= 'same => n,Gosub(check-out-work-time,${EXTEN},1)';
560 560
                 // Описываем возможность прыжка в пользовательский sub контекст.
561
-                $rout_data .= " \n\t" . 'same => n,GosubIf($["${DIALPLAN_EXISTS(${CONTEXT}-custom,${EXTEN},1)}" == "1"]?${CONTEXT}-custom,${EXTEN},1)';
561
+                $rout_data .= " \n\t".'same => n,GosubIf($["${DIALPLAN_EXISTS(${CONTEXT}-custom,${EXTEN},1)}" == "1"]?${CONTEXT}-custom,${EXTEN},1)';
562 562
             }
563 563
 
564
-            if ( ! empty($rout['extension'])) {
564
+            if (!empty($rout['extension'])) {
565 565
                 $rout_data = rtrim($rout_data);
566 566
                 // Обязательно проверяем "DIALSTATUS", в случае с парковой через AMI вызова это необходимо.
567 567
                 // При ответе может отработать следующий приоритет.
568
-                if ( ! isset($rout_data_dial[$rout_number])) {
568
+                if (!isset($rout_data_dial[$rout_number])) {
569 569
                     $rout_data_dial[$rout_number] = '';
570 570
                 }
571 571
 
572
-                $dial_command                 = " \n\t" . 'same => n,' . 'ExecIf($["${M_DIALSTATUS}" != "ANSWER"]?' . "Dial(Local/{$rout['extension']}@internal-incoming/n,{$timeout},cTKg));";
573
-                $rout_data_dial[$rout_number] .= " \n\t" . "same => n,Set(M_TIMEOUT={$timeout})";
572
+                $dial_command = " \n\t".'same => n,'.'ExecIf($["${M_DIALSTATUS}" != "ANSWER"]?'."Dial(Local/{$rout['extension']}@internal-incoming/n,{$timeout},cTKg));";
573
+                $rout_data_dial[$rout_number] .= " \n\t"."same => n,Set(M_TIMEOUT={$timeout})";
574 574
                 $rout_data_dial[$rout_number] .= $dial_command;
575 575
 
576 576
                 if (is_array($provider)) {
577 577
                     $key = $provider[$rout['provider']] ?? '';
578
-                    if ( ! isset($rout_data_dial[$key])) {
578
+                    if (!isset($rout_data_dial[$key])) {
579 579
                         $rout_data_dial[$key] = '';
580 580
                     }
581 581
                     if (empty($number)) {
@@ -586,9 +586,9 @@  discard block
 block discarded – undo
586 586
         }
587 587
 
588 588
         if (is_string($login)) {
589
-            $add_login_pattern = ! empty($login);
589
+            $add_login_pattern = !empty($login);
590 590
             foreach ($data as $rout) {
591
-                if ( ! $add_login_pattern) {
591
+                if (!$add_login_pattern) {
592 592
                     break;
593 593
                 } // Логин не заполнен, обработка не требуется.
594 594
                 $is_num = preg_match_all('/^\d+$/m', $login, $matches, PREG_SET_ORDER, 0);
@@ -608,7 +608,7 @@  discard block
 block discarded – undo
608 608
             if ($add_login_pattern && array_key_exists('X!', $rout_data_dial) && isset($dialplan['X!'])) {
609 609
                 $dialplan[$login]       = str_replace('_X!,1', "{$login},1", $dialplan['X!']);
610 610
                 $rout_data_dial[$login] = $rout_data_dial['X!'];
611
-            }elseif($add_login_pattern === true && $need_def_rout === true && count($data) === 1){
611
+            }elseif ($add_login_pattern === true && $need_def_rout === true && count($data) === 1) {
612 612
                 // Только маршрут "По умолчанию".
613 613
                 $dialplan[$login]       = str_replace('_X!,1', "{$login},1", $dialplan['X!']);
614 614
             }
@@ -619,7 +619,7 @@  discard block
 block discarded – undo
619 619
         }
620 620
 
621 621
         foreach ($dialplan as $key => &$dpln) {
622
-            if ( ! array_key_exists($key, $rout_data_dial)) {
622
+            if (!array_key_exists($key, $rout_data_dial)) {
623 623
                 continue;
624 624
             }
625 625
             $dpln = rtrim($dpln);
@@ -628,29 +628,29 @@  discard block
 block discarded – undo
628 628
         unset($dpln);
629 629
 
630 630
         $uniqid = is_string($provider) ? $provider : $uniqid;
631
-        $conf   .= "\n" . "[{$uniqid}-incoming]\n";
631
+        $conf .= "\n"."[{$uniqid}-incoming]\n";
632 632
         foreach ($dialplan as $dpln) {
633
-            $conf .= $dpln . "\n";
633
+            $conf .= $dpln."\n";
634 634
             if (null == $default_action && 'none' !== $provider) {
635 635
                 continue;
636 636
             }
637 637
             if ('extension' === $default_action->action) {
638 638
                 // Обязательно проверяем "DIALSTATUS", в случае с парковой через AMI вызова это необходимо.
639 639
                 // При ответе может отработать следующий приоритет.
640
-                $conf .= "\t" . 'same => n,Set(M_TIMEOUT=0)' . "\n";
641
-                $conf .= "\t" . "same => n," . 'ExecIf($["${M_DIALSTATUS}" != "ANSWER"]?' . "Dial(Local/{$default_action->extension}@internal/n,,cTKg)); default action" . "\n";
640
+                $conf .= "\t".'same => n,Set(M_TIMEOUT=0)'."\n";
641
+                $conf .= "\t"."same => n,".'ExecIf($["${M_DIALSTATUS}" != "ANSWER"]?'."Dial(Local/{$default_action->extension}@internal/n,,cTKg)); default action"."\n";
642 642
 
643 643
                 foreach ($additionalModules as $appClass) {
644 644
                     $addition = $appClass->generateIncomingRoutAfterDialContext($uniqid);
645
-                    if (!empty($addition)){
646
-                         $conf .=$appClass->confBlockWithComments($addition);
645
+                    if (!empty($addition)) {
646
+                         $conf .= $appClass->confBlockWithComments($addition);
647 647
                     }
648 648
                 }
649
-                $conf .= " \t" . 'same => n,GosubIf($["${DIALPLAN_EXISTS(${CONTEXT}-after-dial-custom,${EXTEN},1)}" == "1"]?${CONTEXT}-after-dial-custom,${EXTEN},1)' . "\n";
649
+                $conf .= " \t".'same => n,GosubIf($["${DIALPLAN_EXISTS(${CONTEXT}-after-dial-custom,${EXTEN},1)}" == "1"]?${CONTEXT}-after-dial-custom,${EXTEN},1)'."\n";
650 650
             } elseif ('busy' === $default_action->action) {
651
-                $conf .= "\t" . "same => n,Busy()" . "\n";
651
+                $conf .= "\t"."same => n,Busy()"."\n";
652 652
             }
653
-            $conf .= "\t" . "same => n,Hangup()" . "\n";
653
+            $conf .= "\t"."same => n,Hangup()"."\n";
654 654
         }
655 655
 
656 656
         return $conf;
@@ -666,10 +666,10 @@  discard block
 block discarded – undo
666 666
     private function generateOutWorkTimes(&$conf): string
667 667
     {
668 668
         $conf .= "\n\n[playback-exit]\n";
669
-        $conf .= 'exten => _.!,1,NoOp(check time)' . "\n\t";
670
-        $conf .= 'same => n,Gosub(dial_outworktimes,${EXTEN},1)' . "\n\t";
671
-        $conf .= 'same => n,Playback(${filename})' . "\n\t";
672
-        $conf .= 'same => n,Hangup()' . "\n\n";
669
+        $conf .= 'exten => _.!,1,NoOp(check time)'."\n\t";
670
+        $conf .= 'same => n,Gosub(dial_outworktimes,${EXTEN},1)'."\n\t";
671
+        $conf .= 'same => n,Playback(${filename})'."\n\t";
672
+        $conf .= 'same => n,Hangup()'."\n\n";
673 673
 
674 674
         $conf .= "[check-out-work-time]\n";
675 675
         $conf .= "exten => _.!,1,NoOp(check time)\n\t";
@@ -681,9 +681,9 @@  discard block
 block discarded – undo
681 681
         $now_year = 1 * date('Y', time());
682 682
         foreach ($data as $out_data) {
683 683
             /** @var \MikoPBX\Common\Models\OutWorkTimes $out_data */
684
-            if ( ! empty($out_data->date_from) && ! empty($out_data->date_to)) {
685
-                $year_from = 1 * date('Y', (int)$out_data->date_from);
686
-                $year_to   = 1 * date('Y', (int)$out_data->date_to);
684
+            if (!empty($out_data->date_from) && !empty($out_data->date_to)) {
685
+                $year_from = 1 * date('Y', (int) $out_data->date_from);
686
+                $year_to   = 1 * date('Y', (int) $out_data->date_to);
687 687
                 if ($now_year < $year_from || $now_year > $year_to) {
688 688
                     // Правило не актуально для текущего года.
689 689
                     continue;
@@ -720,11 +720,11 @@  discard block
 block discarded – undo
720 720
                 $mdays  = '*';
721 721
                 $months = '*';
722 722
             } else {
723
-                $mdays  = strtolower(date("j", (int)$date_from));
724
-                $months = strtolower(date("M", (int)$date_from));
725
-                if ( ! empty($date_to)) {
726
-                    $mdays  .= "-" . strtolower(date("j", (int)$date_to));
727
-                    $months .= "-" . strtolower(date("M", (int)$date_to));
723
+                $mdays  = strtolower(date("j", (int) $date_from));
724
+                $months = strtolower(date("M", (int) $date_from));
725
+                if (!empty($date_to)) {
726
+                    $mdays  .= "-".strtolower(date("j", (int) $date_to));
727
+                    $months .= "-".strtolower(date("M", (int) $date_to));
728 728
                 }
729 729
             }
730 730
 
@@ -737,12 +737,12 @@  discard block
 block discarded – undo
737 737
                 $res           = SoundFiles::findFirst($out_data->audio_message_id);
738 738
                 $audio_message = ($res === null) ? '' : Util::trimExtensionForFile($res->path);
739 739
 
740
-                $conf_out_set_var .= "[work-time-set-var-{$out_data->id}]\n" .
741
-                    'exten => _.!,1,Set(filename=' . $audio_message . ')' . "\n\t" .
742
-                    'same => n,Goto(playback-exit,${EXTEN},1)' . "\n\n";
740
+                $conf_out_set_var .= "[work-time-set-var-{$out_data->id}]\n".
741
+                    'exten => _.!,1,Set(filename='.$audio_message.')'."\n\t".
742
+                    'same => n,Goto(playback-exit,${EXTEN},1)'."\n\n";
743 743
 
744 744
                 $appname = 'ExecIfTime';
745
-                $appdata = 'Goto(work-time-set-var-' . $out_data->id . ',${EXTEN},1)';
745
+                $appdata = 'Goto(work-time-set-var-'.$out_data->id.',${EXTEN},1)';
746 746
             }
747 747
             $conf .= "same => n,{$appname}($times,$weekdays,$mdays,$months?{$appdata})\n\t";
748 748
         }
@@ -768,10 +768,10 @@  discard block
 block discarded – undo
768 768
         if ($provider !== null) {
769 769
             if ($provider->type === 'SIP') {
770 770
                 $account    = Sip::findFirst('disabled="0" AND uniqid = "'.$uniqueID.'"');
771
-                $technology = ($account === null)?'':SIPConf::getTechnology();
771
+                $technology = ($account === null) ? '' : SIPConf::getTechnology();
772 772
             } elseif ($provider->type === 'IAX') {
773 773
                 $account    = Iax::findFirst('disabled="0" AND uniqid = "'.$uniqueID.'"');
774
-                $technology = ($account === null)?'':'IAX2';
774
+                $technology = ($account === null) ? '' : 'IAX2';
775 775
             }
776 776
         }
777 777
 
Please login to merge, or discard this patch.