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.1 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, $destino = null, $uniqueid = null)
{
try {
$mensagem = [];
$mensagem["event"] = [
"type" => 'actions',
"contact" => [
"name" => 'Sistema',
"number" => '0'
],
"mensagem" => [
"type" => utf8_encode($tipo),
"dst" => utf8_encode($destino),
"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;
}
}