@@ -26,7 +26,7 @@ discard block |
||
26 | 26 | public static function LogEvent($data): void |
27 | 27 | { |
28 | 28 | if (is_file('/tmp/debug')) { |
29 | - file_put_contents('/tmp/dial_log', $data . "\n", FILE_APPEND); |
|
29 | + file_put_contents('/tmp/dial_log', $data."\n", FILE_APPEND); |
|
30 | 30 | } |
31 | 31 | } |
32 | 32 | |
@@ -45,7 +45,7 @@ discard block |
||
45 | 45 | $dbname = $di->getShared('config')->path('cdrDatabase.dbfile'); |
46 | 46 | } else { |
47 | 47 | $id = (int) str_replace('mikopbx-', '', $id); |
48 | - $dbname = 'cdr/' . date("Y/m/d/H/", $id) . $id . ".db"; |
|
48 | + $dbname = 'cdr/'.date("Y/m/d/H/", $id).$id.".db"; |
|
49 | 49 | } |
50 | 50 | |
51 | 51 | return $dbname; |
@@ -69,7 +69,7 @@ discard block |
||
69 | 69 | $date = CallEventsLogs::maximum( |
70 | 70 | ['linkedid = "'.$row_cdr->linkedid.'"', 'column' => 'eventtime'] |
71 | 71 | ); |
72 | - if ( ! $row_cdr->endtime) { |
|
72 | + if (!$row_cdr->endtime) { |
|
73 | 73 | if ($date) { |
74 | 74 | $row_cdr->endtime = $date; |
75 | 75 | } elseif ($row_cdr->answer) { |
@@ -40,7 +40,7 @@ discard block |
||
40 | 40 | // e.g. 10.0.2.56/21 = 10.0.0.0 |
41 | 41 | public function cidr2network($ip, $cidr) |
42 | 42 | { |
43 | - return long2ip((ip2long($ip)) & ((-1 << (32 - (int)$cidr)))); |
|
43 | + return long2ip((ip2long($ip)) & ((-1 << (32 - (int) $cidr)))); |
|
44 | 44 | } |
45 | 45 | |
46 | 46 | // convert netmask to cidr |
@@ -51,7 +51,7 @@ discard block |
||
51 | 51 | $netmask = explode(".", $netmask); |
52 | 52 | |
53 | 53 | foreach ($netmask as $octect) { |
54 | - $bits += strlen(str_replace("0", "", decbin((int)$octect))); |
|
54 | + $bits += strlen(str_replace("0", "", decbin((int) $octect))); |
|
55 | 55 | } |
56 | 56 | |
57 | 57 | return $bits; |
@@ -22,7 +22,7 @@ discard block |
||
22 | 22 | |
23 | 23 | public const SELECT_CDR_TUBE = 'select_cdr_tube'; |
24 | 24 | public const UPDATE_CDR_TUBE = 'update_cdr_tube'; |
25 | - protected int $maxProc=1; |
|
25 | + protected int $maxProc = 1; |
|
26 | 26 | |
27 | 27 | |
28 | 28 | private $client_queue; |
@@ -92,12 +92,12 @@ discard block |
||
92 | 92 | $result = json_decode($result_data, true); |
93 | 93 | if (file_exists($result)) { |
94 | 94 | $file_data = json_decode(file_get_contents($result), true); |
95 | - if(!is_dir($result)){ |
|
95 | + if (!is_dir($result)) { |
|
96 | 96 | Util::mwExec("rm -rf {$result}"); |
97 | 97 | } |
98 | 98 | $result = $file_data; |
99 | 99 | } |
100 | - if ( ! is_array($result) && ! is_object($result)) { |
|
100 | + if (!is_array($result) && !is_object($result)) { |
|
101 | 101 | return; |
102 | 102 | } |
103 | 103 | if (count($result) < 1) { |
@@ -114,7 +114,7 @@ discard block |
||
114 | 114 | if (trim($row['recordingfile']) !== '') { |
115 | 115 | // Если каналов не существует с ID, то можно удалить временные файлы. |
116 | 116 | $p_info = pathinfo($row['recordingfile']); |
117 | - $fname = $p_info['dirname'] . '/' . $p_info['filename'] . '.wav'; |
|
117 | + $fname = $p_info['dirname'].'/'.$p_info['filename'].'.wav'; |
|
118 | 118 | if (file_exists($fname) && !is_dir($fname)) { |
119 | 119 | Util::mwExec("rm -rf {$fname}"); |
120 | 120 | } |
@@ -138,19 +138,19 @@ discard block |
||
138 | 138 | $row['answer'] = ''; |
139 | 139 | $billsec = 0; |
140 | 140 | |
141 | - if ( ! empty($row['recordingfile'])) { |
|
141 | + if (!empty($row['recordingfile'])) { |
|
142 | 142 | $p_info = pathinfo($row['recordingfile']); |
143 | 143 | $file_list = [ |
144 | - $p_info['dirname'] . '/' . $p_info['filename'] . '.mp3', |
|
145 | - $p_info['dirname'] . '/' . $p_info['filename'] . '.wav', |
|
146 | - $p_info['dirname'] . '/' . $p_info['filename'] . '_in.wav', |
|
147 | - $p_info['dirname'] . '/' . $p_info['filename'] . '_out.wav', |
|
144 | + $p_info['dirname'].'/'.$p_info['filename'].'.mp3', |
|
145 | + $p_info['dirname'].'/'.$p_info['filename'].'.wav', |
|
146 | + $p_info['dirname'].'/'.$p_info['filename'].'_in.wav', |
|
147 | + $p_info['dirname'].'/'.$p_info['filename'].'_out.wav', |
|
148 | 148 | ]; |
149 | 149 | foreach ($file_list as $file) { |
150 | - if ( ! file_exists($file)) { |
|
150 | + if (!file_exists($file)) { |
|
151 | 151 | continue; |
152 | 152 | } |
153 | - if(!is_dir($file)){ |
|
153 | + if (!is_dir($file)) { |
|
154 | 154 | Util::mwExec("rm -rf {$file}"); |
155 | 155 | } |
156 | 156 | } |
@@ -161,9 +161,9 @@ discard block |
||
161 | 161 | if (file_exists($row['recordingfile']) && !is_dir($row['recordingfile'])) { |
162 | 162 | Util::mwExec("rm -rf {$row['recordingfile']}"); |
163 | 163 | } |
164 | - } elseif ( ! empty($row['recordingfile']) && |
|
165 | - ! file_exists(Util::trimExtensionForFile($row['recordingfile']) . 'wav') && |
|
166 | - ! file_exists( $row['recordingfile']) ) { |
|
164 | + } elseif (!empty($row['recordingfile']) && |
|
165 | + !file_exists(Util::trimExtensionForFile($row['recordingfile']).'wav') && |
|
166 | + !file_exists($row['recordingfile'])) { |
|
167 | 167 | /** @var CallDetailRecordsTmp $rec_data */ |
168 | 168 | $rec_data = CallDetailRecordsTmp::findFirst( |
169 | 169 | "linkedid='{$row['linkedid']}' AND dst_chan='{$row['dst_chan']}'" |
@@ -229,7 +229,7 @@ discard block |
||
229 | 229 | $this->no_answered_calls[$row['linkedid']]['NOANSWER'] = false; |
230 | 230 | return; |
231 | 231 | } |
232 | - if ( ! array_key_exists($row['dst_num'], $this->internal_numbers)) { |
|
232 | + if (!array_key_exists($row['dst_num'], $this->internal_numbers)) { |
|
233 | 233 | // dst_num - не является номером сотрудника. Это исходящий. |
234 | 234 | return; |
235 | 235 | } |
@@ -30,7 +30,7 @@ discard block |
||
30 | 30 | |
31 | 31 | class WorkerLongPoolAPI extends WorkerBase |
32 | 32 | { |
33 | - protected int $maxProc=1; |
|
33 | + protected int $maxProc = 1; |
|
34 | 34 | |
35 | 35 | public function start($argv): void |
36 | 36 | { |
@@ -46,7 +46,7 @@ discard block |
||
46 | 46 | $this->setChannelsData(); |
47 | 47 | if (is_array($data) && isset($data['infos'])) { |
48 | 48 | foreach ($data['infos'] as $channel_data) { |
49 | - $url = 'http://localhost/pbxcore/api/long/pub?id=' . $channel_data['channel']; |
|
49 | + $url = 'http://localhost/pbxcore/api/long/pub?id='.$channel_data['channel']; |
|
50 | 50 | |
51 | 51 | $data_for_send = $this->execFunction($channel_data['channel']); |
52 | 52 | if ($data_for_send) { |
@@ -54,7 +54,7 @@ discard block |
||
54 | 54 | $this->postData($url, "$data_for_send\n"); |
55 | 55 | } |
56 | 56 | |
57 | - if ( ! isset($COMMON_CNANNELS[$channel_data['channel']])) { |
|
57 | + if (!isset($COMMON_CNANNELS[$channel_data['channel']])) { |
|
58 | 58 | continue; |
59 | 59 | } |
60 | 60 | |
@@ -131,7 +131,7 @@ discard block |
||
131 | 131 | private function execFunction($channel, $common_chan = null) |
132 | 132 | { |
133 | 133 | clearstatcache(); |
134 | - if ( ! $this->checkAction($channel, $common_chan)) { |
|
134 | + if (!$this->checkAction($channel, $common_chan)) { |
|
135 | 135 | return ''; |
136 | 136 | } |
137 | 137 | $data_for_send = null; |
@@ -162,18 +162,18 @@ discard block |
||
162 | 162 | */ |
163 | 163 | private function checkAction($channel, $common_chan = null) |
164 | 164 | { |
165 | - if ( ! $common_chan) { |
|
165 | + if (!$common_chan) { |
|
166 | 166 | $actions = $GLOBALS['ACTIONS']; |
167 | 167 | } else { |
168 | 168 | $actions = $GLOBALS['COMMON_CNANNELS'][$common_chan]; |
169 | 169 | } |
170 | 170 | |
171 | 171 | $enable = false; |
172 | - if ( ! $actions) { |
|
172 | + if (!$actions) { |
|
173 | 173 | return $enable; |
174 | 174 | } |
175 | 175 | // $data = null; |
176 | - $now = time(); |
|
176 | + $now = time(); |
|
177 | 177 | |
178 | 178 | $action_data = $actions[$channel] ?? null; |
179 | 179 | if ($action_data !== null) { |
@@ -63,17 +63,17 @@ discard block |
||
63 | 63 | echo $killPath.' -QUIT '.$pid."\n"; |
64 | 64 | } |
65 | 65 | $timeStart = time(); |
66 | - while (true){ |
|
67 | - if(time() - $timeStart > 20){ |
|
66 | + while (true) { |
|
67 | + if (time() - $timeStart > 20) { |
|
68 | 68 | break; |
69 | 69 | } |
70 | 70 | usleep(50000); |
71 | 71 | $pid = Util::getPidOfProcess('nginx: master process'); |
72 | - if($pid !== ''){ |
|
72 | + if ($pid !== '') { |
|
73 | 73 | continue; |
74 | 74 | } |
75 | 75 | $result = Util::mwExec($NginxPath); |
76 | - if($result === 0){ |
|
76 | + if ($result === 0) { |
|
77 | 77 | break; |
78 | 78 | } |
79 | 79 | echo "RESULT -- $result\n"; |
@@ -111,9 +111,9 @@ discard block |
||
111 | 111 | |
112 | 112 | $RedirectToHttps = $this->mikoPBXConfig->getGeneralSettings('RedirectToHttps'); |
113 | 113 | if ($RedirectToHttps === '1' && $not_ssl === false) { |
114 | - $conf_data = 'if ( $remote_addr != "127.0.0.1" ) {' . PHP_EOL |
|
115 | - . ' ' . 'return 301 https://$host:' . $WEBHTTPSPort . '$request_uri;' . PHP_EOL |
|
116 | - . ' }' . PHP_EOL; |
|
114 | + $conf_data = 'if ( $remote_addr != "127.0.0.1" ) {'.PHP_EOL |
|
115 | + . ' '.'return 301 https://$host:'.$WEBHTTPSPort.'$request_uri;'.PHP_EOL |
|
116 | + . ' }'.PHP_EOL; |
|
117 | 117 | $config = str_replace('include mikopbx/locations/*.conf;', $conf_data, $config); |
118 | 118 | } |
119 | 119 | file_put_contents($httpConfigFile, $config); |
@@ -123,8 +123,8 @@ discard block |
||
123 | 123 | $WEBHTTPSPrivateKey = $this->mikoPBXConfig->getGeneralSettings('WEBHTTPSPrivateKey'); |
124 | 124 | if ( |
125 | 125 | $not_ssl === false |
126 | - && ! empty($WEBHTTPSPublicKey) |
|
127 | - && ! empty($WEBHTTPSPrivateKey) |
|
126 | + && !empty($WEBHTTPSPublicKey) |
|
127 | + && !empty($WEBHTTPSPrivateKey) |
|
128 | 128 | ) { |
129 | 129 | $public_filename = '/etc/ssl/certs/nginx.crt'; |
130 | 130 | $private_filename = '/etc/ssl/private/nginx.key'; |
@@ -139,7 +139,7 @@ discard block |
||
139 | 139 | |
140 | 140 | // Test work |
141 | 141 | $currentConfigIsGood = $this->testCurrentNginxConfig(); |
142 | - if ($level < 1 && ! $currentConfigIsGood) { |
|
142 | + if ($level < 1 && !$currentConfigIsGood) { |
|
143 | 143 | ++$level; |
144 | 144 | Util::sysLogMsg('nginx', 'Failed test config file. SSL will be disable...'); |
145 | 145 | $this->generateConf(true, $level); |
@@ -168,9 +168,9 @@ discard block |
||
168 | 168 | */ |
169 | 169 | public function generateModulesConf(): void |
170 | 170 | { |
171 | - $locationsPath = self::MODULES_LOCATIONS_PATH; |
|
172 | - if (!is_dir($locationsPath)){ |
|
173 | - Util::mwMkdir($locationsPath,true); |
|
171 | + $locationsPath = self::MODULES_LOCATIONS_PATH; |
|
172 | + if (!is_dir($locationsPath)) { |
|
173 | + Util::mwMkdir($locationsPath, true); |
|
174 | 174 | } |
175 | 175 | $additionalModules = $this->di->getShared('pbxConfModules'); |
176 | 176 | $rmPath = Util::which('rm'); |
@@ -178,12 +178,12 @@ discard block |
||
178 | 178 | foreach ($additionalModules as $appClass) { |
179 | 179 | if (method_exists($appClass, 'createNginxLocations')) { |
180 | 180 | $locationContent = $appClass->createNginxLocations(); |
181 | - if ( ! empty($locationContent)) { |
|
181 | + if (!empty($locationContent)) { |
|
182 | 182 | $confFileName = "{$locationsPath}/{$appClass->moduleUniqueId}.conf"; |
183 | 183 | file_put_contents($confFileName, $locationContent); |
184 | - if ( ! $this->testCurrentNginxConfig()) { |
|
184 | + if (!$this->testCurrentNginxConfig()) { |
|
185 | 185 | Util::mwExec("{$rmPath} {$confFileName}"); |
186 | - Util::sysLogMsg('nginx', 'Failed test config file for module' . $appClass->moduleUniqueId); |
|
186 | + Util::sysLogMsg('nginx', 'Failed test config file for module'.$appClass->moduleUniqueId); |
|
187 | 187 | } |
188 | 188 | } |
189 | 189 | } |
@@ -19,7 +19,7 @@ discard block |
||
19 | 19 | protected function generateConfigProtected(): void |
20 | 20 | { |
21 | 21 | $conf = ""; |
22 | - file_put_contents($this->config->path('asterisk.astetcdir') . '/confbridge.conf', $conf); |
|
22 | + file_put_contents($this->config->path('asterisk.astetcdir').'/confbridge.conf', $conf); |
|
23 | 23 | } |
24 | 24 | |
25 | 25 | /** |
@@ -32,7 +32,7 @@ discard block |
||
32 | 32 | $conf = ''; |
33 | 33 | $data = ConferenceRooms::find(['order' => 'extension']); |
34 | 34 | foreach ($data as $conference) { |
35 | - $conf .= "exten => {$conference->extension},1,Goto(conference-rooms,{$conference->extension},1)" . "\n"; |
|
35 | + $conf .= "exten => {$conference->extension},1,Goto(conference-rooms,{$conference->extension},1)"."\n"; |
|
36 | 36 | } |
37 | 37 | $conf .= "\n"; |
38 | 38 | |
@@ -47,7 +47,7 @@ discard block |
||
47 | 47 | $conf = ''; |
48 | 48 | $data = ConferenceRooms::find(['order' => 'extension']); |
49 | 49 | foreach ($data as $conference) { |
50 | - $conf .= "exten => {$conference->extension},1,Goto(conference-rooms,{$conference->extension},1)" . "\n"; |
|
50 | + $conf .= "exten => {$conference->extension},1,Goto(conference-rooms,{$conference->extension},1)"."\n"; |
|
51 | 51 | } |
52 | 52 | $conf .= "\n"; |
53 | 53 | |
@@ -72,13 +72,13 @@ discard block |
||
72 | 72 | $conf .= "[conference-rooms] \n"; |
73 | 73 | $data = ConferenceRooms::find(['order' => 'extension']); |
74 | 74 | foreach ($data as $conference) { |
75 | - $conf .= 'exten => ' . $conference->extension . ',1,NoOp(---)' . "\n\t"; |
|
76 | - $conf .= 'same => n,ExecIf($["${CHANNEL(channeltype)}" == "Local"]?Hangup())' . "\n\t"; |
|
77 | - $conf .= 'same => n,AGI(cdr_connector.php,meetme_dial)' . "\n\t"; |
|
78 | - $conf .= 'same => n,Answer()' . "\n\t"; |
|
79 | - $conf .= 'same => n,Set(CHANNEL(hangup_handler_wipe)=hangup_handler_meetme,s,1)' . "\n\t"; |
|
80 | - $conf .= 'same => n,Meetme(${EXTEN},qdMT' . $rec_options . ')' . "\n\t"; |
|
81 | - $conf .= 'same => n,Hangup()' . "\n\n"; |
|
75 | + $conf .= 'exten => '.$conference->extension.',1,NoOp(---)'."\n\t"; |
|
76 | + $conf .= 'same => n,ExecIf($["${CHANNEL(channeltype)}" == "Local"]?Hangup())'."\n\t"; |
|
77 | + $conf .= 'same => n,AGI(cdr_connector.php,meetme_dial)'."\n\t"; |
|
78 | + $conf .= 'same => n,Answer()'."\n\t"; |
|
79 | + $conf .= 'same => n,Set(CHANNEL(hangup_handler_wipe)=hangup_handler_meetme,s,1)'."\n\t"; |
|
80 | + $conf .= 'same => n,Meetme(${EXTEN},qdMT'.$rec_options.')'."\n\t"; |
|
81 | + $conf .= 'same => n,Hangup()'."\n\n"; |
|
82 | 82 | } |
83 | 83 | |
84 | 84 | return $conf; |
@@ -11,7 +11,7 @@ |
||
11 | 11 | class AGIDebug extends AGI { |
12 | 12 | private string $scriptName; |
13 | 13 | |
14 | - function __construct($scriptName){ |
|
14 | + function __construct($scriptName) { |
|
15 | 15 | $this->scriptName = $scriptName; |
16 | 16 | } |
17 | 17 |
@@ -8,10 +8,12 @@ |
||
8 | 8 | |
9 | 9 | namespace MikoPBX\Core\Asterisk; |
10 | 10 | |
11 | -class AGIDebug extends AGI { |
|
11 | +class AGIDebug extends AGI |
|
12 | +{ |
|
12 | 13 | private string $scriptName; |
13 | 14 | |
14 | - function __construct($scriptName){ |
|
15 | + function __construct($scriptName) |
|
16 | + { |
|
15 | 17 | $this->scriptName = $scriptName; |
16 | 18 | } |
17 | 19 |
@@ -174,7 +174,7 @@ discard block |
||
174 | 174 | if (file_exists('/etc/TZ')) { |
175 | 175 | $origin_tz = file_get_contents("/etc/TZ"); |
176 | 176 | } |
177 | - if ($origin_tz !== $db_tz){ |
|
177 | + if ($origin_tz !== $db_tz) { |
|
178 | 178 | self::timezoneConfigure(); |
179 | 179 | } |
180 | 180 | $origin_tz = $db_tz; |
@@ -244,7 +244,7 @@ discard block |
||
244 | 244 | } |
245 | 245 | if ($timezone) { |
246 | 246 | $zone_file = "/usr/share/zoneinfo/{$timezone}"; |
247 | - if ( ! file_exists($zone_file)) { |
|
247 | + if (!file_exists($zone_file)) { |
|
248 | 248 | return; |
249 | 249 | } |
250 | 250 | $cpPath = Util::which('cp'); |
@@ -25,7 +25,7 @@ discard block |
||
25 | 25 | { |
26 | 26 | $src_log_file = '/var/log/php_error.log'; |
27 | 27 | $dst_log_file = self::getLogFile(); |
28 | - if ( ! file_exists($src_log_file)) { |
|
28 | + if (!file_exists($src_log_file)) { |
|
29 | 29 | file_put_contents($src_log_file, ''); |
30 | 30 | } |
31 | 31 | $options = file_exists($dst_log_file) ? '>' : ''; |
@@ -41,7 +41,7 @@ discard block |
||
41 | 41 | */ |
42 | 42 | public static function getLogFile(): string |
43 | 43 | { |
44 | - $logdir = System::getLogDir() . '/php'; |
|
44 | + $logdir = System::getLogDir().'/php'; |
|
45 | 45 | Util::mwMkdir($logdir); |
46 | 46 | return "$logdir/error.log"; |
47 | 47 | } |
@@ -55,7 +55,7 @@ discard block |
||
55 | 55 | |
56 | 56 | $max_size = 2; |
57 | 57 | $f_name = self::getLogFile(); |
58 | - $text_config = $f_name . " { |
|
58 | + $text_config = $f_name." { |
|
59 | 59 | nocreate |
60 | 60 | nocopytruncate |
61 | 61 | delaycompress |
@@ -69,13 +69,13 @@ discard block |
||
69 | 69 | endscript |
70 | 70 | }"; |
71 | 71 | // TODO::Доделать рестарт PHP-FPM после обновление лога |
72 | - $di = Di::getDefault(); |
|
73 | - if ($di !== null){ |
|
72 | + $di = Di::getDefault(); |
|
73 | + if ($di !== null) { |
|
74 | 74 | $varEtcDir = $di->getConfig()->path('core.varEtcDir'); |
75 | 75 | } else { |
76 | 76 | $varEtcDir = '/var/etc'; |
77 | 77 | } |
78 | - $path_conf = $varEtcDir . '/php_logrotate_' . basename($f_name) . '.conf'; |
|
78 | + $path_conf = $varEtcDir.'/php_logrotate_'.basename($f_name).'.conf'; |
|
79 | 79 | file_put_contents($path_conf, $text_config); |
80 | 80 | $mb10 = $max_size * 1024 * 1024; |
81 | 81 | |
@@ -91,7 +91,7 @@ discard block |
||
91 | 91 | */ |
92 | 92 | public static function phpTimeZoneConfigure(): void |
93 | 93 | { |
94 | - $timezone = PbxSettings::getValueByKey('PBXTimezone'); |
|
94 | + $timezone = PbxSettings::getValueByKey('PBXTimezone'); |
|
95 | 95 | date_default_timezone_set($timezone); |
96 | 96 | if (file_exists('/etc/TZ')) { |
97 | 97 | $catPath = Util::which('cat'); |