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.
66 lines
3.0 KiB
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)); |
|
}
|
|
|