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.
49 lines
1.5 KiB
49 lines
1.5 KiB
2 years ago
|
<?php
|
||
|
|
||
|
namespace app\Controllers;
|
||
|
|
||
|
use app\Core\Controller;
|
||
|
use app\Interfaces\IApiMedia;
|
||
|
use app\Models\SystemMessage;
|
||
|
use Exception;
|
||
|
|
||
|
/**
|
||
|
* Description of SupervisorController
|
||
|
*
|
||
|
* @author root
|
||
|
*/
|
||
|
class SystemMessageController extends Controller
|
||
|
{
|
||
|
/** @var SystemMessage $sysMessage model de mensagens do sistema */
|
||
|
protected $sysMessage;
|
||
|
|
||
|
public function __construct()
|
||
|
{
|
||
|
$this->sysMessage = new SystemMessage();
|
||
|
}
|
||
|
public function sendMessageSystem($momento, $variavels, IApiMedia $api, $numero, $fila = null)
|
||
|
{ //$variavels = [["nome" => '@cliente', "valor" => 'afonso']]
|
||
|
try {
|
||
|
$msgs = $this->sysMessage->findMessage($momento, $fila);
|
||
|
if (empty($msgs)) {
|
||
|
$msgs = $this->sysMessage->findMessage($momento);
|
||
|
}
|
||
|
|
||
|
foreach ($msgs as $key => $msg) {
|
||
|
$msg->texto = str_replace('\n', "\n", $msg->texto);
|
||
|
if ($variavels) {
|
||
|
foreach ($variavels as $key => $variavel) {
|
||
|
$vari = $variavel['nome'];
|
||
|
$pattern = "/$vari/i";
|
||
|
$msg->texto = preg_replace($pattern, utf8_decode($variavel['valor']), $msg->texto);
|
||
|
}
|
||
|
}
|
||
|
$api->enviarMsg($numero, $msg->texto);
|
||
|
}
|
||
|
return $msgs;
|
||
|
} catch (Exception $ex) {
|
||
|
logger()->error($ex->getMessage());
|
||
|
return false;
|
||
|
}
|
||
|
}
|
||
|
}
|