forked from SimplesIP/pabx-app
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
72 lines
2.2 KiB
72 lines
2.2 KiB
<?php |
|
|
|
namespace websocket; |
|
|
|
use WebSocket\Client as Testess; |
|
|
|
class WsInterface |
|
{ |
|
private $client; |
|
|
|
function enviaMsg($msg) |
|
{ |
|
if (!empty($msg)) { |
|
$this->client = new Testess("ws://127.0.0.1:8080/ws"); |
|
$this->client->send($msg); |
|
$this->client->close(); |
|
return null; |
|
} |
|
} |
|
|
|
function enviaActions($msg, $tipo, $matricula = null, $uniqueid = null) |
|
{ |
|
try { |
|
$mensagem = []; |
|
$mensagem["event"] = [ |
|
"type" => 'actions', |
|
"contact" => [ |
|
"name" => 'Sistema', |
|
"number" => '0' |
|
], |
|
"mensagem" => [ |
|
"type" => utf8_encode($tipo), |
|
"dst" => utf8_encode($matricula), |
|
"uniqueid" => utf8_encode($uniqueid), |
|
"content" => utf8_encode($msg) |
|
], |
|
]; |
|
return json_encode($mensagem); |
|
} catch (\Exception $th) { |
|
logger('monitora')->info($th->getMessage(), debug_backtrace()); |
|
} |
|
} |
|
public function convertToWebsocket($content, $matricula = '', $uniqueid, $type, $name, $number, $data, $idProvedor, $mimetype, $file_name = null, $channel) |
|
{ |
|
if ($number) { |
|
$mensagem = []; |
|
$mensagem["event"] = [ |
|
"type" => "mensagem", |
|
"contact" => [ |
|
"name" => $name, |
|
"number" => $number, |
|
"matricula" => '' |
|
], |
|
"mensagem" => [ |
|
"type" => $type, |
|
"content" => $content, |
|
"id_provedor" => $idProvedor, |
|
"dst" => $matricula, |
|
"uniqueid" => $uniqueid, |
|
"media" => $channel, |
|
"file_name" => $file_name, |
|
"datetime" => $data, |
|
"status" => "sent", |
|
'mimetype' => $mimetype |
|
] |
|
]; |
|
|
|
return json_encode($mensagem); |
|
} |
|
return null; |
|
} |
|
} |