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.
 
 
 
 
 
 

66 lines
3.0 KiB

<?php
error_reporting(E_ERROR);
ini_set('display_errors', 0);
/* * ****** DESCOMENTE AS LINHAS ABAIXO PARA UM LOG DETALHADO ****** */
/*
$filename = "/var/log/asterisk/display_erros.log";
if (!file_exists('/var/log/asterisk/display_erros.log')) {
file_put_contents($filename, '');
exec(" chown pbx:pbx {$filename}");
}
error_reporting(E_ALL);
ini_set('display_errors', false);
ini_set('log_errors', true);
ini_set('error_log', '/var/log/asterisk/display_erros.log');
ini_set('log_errors_max_len', 4096);
*/
include_once 'contacteFunc.php';
include_once 'util.php';
function GetNivelLgpd($matricula) {
$query = "select b.gp_nome
from pbx_grupo_usuario a, pbx_grupo b, pbx_usuarios c
where b.gp_id = a.gp_id
and c.id = a.user_id
and b.gp_nome ilike 'LGPD_%_%'
and c.matricula = '{$matricula}'";
if (!($result = pg_query($query)) || (!pg_num_rows($result))) {
return false;
}
$row = pg_fetch_row($result);
list(,, $nivel) = explode('_', $row[0]);
return is_numeric(soNumero($nivel)) ? (int) soNumero($nivel) : 0;
}
function GetParamMonitorar($ativaAvisoLgpd, $ramalSupervisor, $canalSupervisor, $matriculaMoitorado, $nvLgpdSupervisor, $nvLgpdMonitorado) {
$query = "select ramal as ramal_monitorado, dac as dac_monitorado, canal_agente, canal as canal_monitorado, uniqueid as uniqueid_monitorado, tipo_ligacao as setido_chamada "
. "from pbx_supervisor_agentes where matricula = '{$matriculaMoitorado}' ";
$result = pg_query($query);
if (!$result || !pg_num_rows($result)) {
throw new Exception("Não foi possível obter os parametros para monitoria!");
}
$dados = pg_fetch_assoc($result);
$dados = array("matricula_supervisor" => GetMatricula(), "matricula_monitorado" => $matriculaMoitorado, "dac_monitorado" => $dados['dac_monitorado'], "setido_chamada" => $dados['setido_chamada'],
"nivel_lgpd_supevisor" => $nvLgpdSupervisor, "nivel_lgpd_monitorado" => $nvLgpdMonitorado, "uniqueid_monitorado" => $dados['uniqueid_monitorado'],
"ramal_supervisor" => $ramalSupervisor, "canal_supervisor" => $canalSupervisor, "ramal_monitorado" => $dados['ramal_monitorado'], "canal_monitorado" => $dados['canal_monitorado'], "canal_agente" => $dados['canal_agente']);
$dadosSalva = EncodeVar($dados);
$lgpdId = $ativaAvisoLgpd ? time() : 0;
if ($ativaAvisoLgpd) {
$query = sprintf("insert into pbx_lgpd_monitora(lgpdm_id, lgpdm_matricula_supervisor, lgpdm_matricula_monitorado, lgpdm_content)values(%s, %s, %s, %s);", $lgpdId, QuotedStr(GetMatricula()), QuotedStr($matriculaMoitorado), QuotedStr($dadosSalva));
pg_query($query);
$query = sprintf("update pbx_supervisor_agentes set lgpd_canal_supervisor = %s, lgpd_canal_monitorado = %s, lgpd_lgpdm_id = %s where matricula = %s;", QuotedStr($canalSupervisor), QuotedStr($dados['canal_agente']), QuotedStr($lgpdId), QuotedStr($matriculaMoitorado));
pg_query($query);
}
return array_merge($dados, array("var_lgpd" => $lgpdId));
}