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.
656 lines
32 KiB
656 lines
32 KiB
<?php |
|
|
|
define("CONFIG_BASE_DADOS", 0); |
|
define("CONFIG_GERAL_SISTEMA", 1); |
|
define("CONFIG_SUPERVISOR", 3); |
|
define("CONFIG_AGENTE", 2); |
|
define("CONFIG_MANAGER", 4); |
|
define("CONFIG_CHAT", 5); |
|
define("CONFIG_LICENCA", 6); |
|
|
|
$query = ""; |
|
$org_id = GetOrganizacao(); |
|
|
|
if ($idSubProg == -1) { |
|
$idSubProg = 0; |
|
} |
|
|
|
$upload = true; |
|
$tpl = ""; |
|
$msg = ""; |
|
$conteudo = ""; |
|
$smarty->assign("nomeCadCli", GetNomeCadCli()); |
|
|
|
if ($idSubProg == CONFIG_BASE_DADOS) { |
|
|
|
if (isset($_POST["btTestar"])) { |
|
$dbPort = $_POST["dbPort"]; |
|
$dbHost = $_POST["dbHost"]; |
|
$dbName = $_POST["dbName"]; |
|
$dbUser = $_POST["dbUser"]; |
|
$dbPassword = ($_POST["dbPassword"] == md5($_SESSION['SSKeepPassword']) ? $_SESSION['SSKeepPassword'] : $_POST["dbPassword"]); |
|
|
|
$con_string = "host='$dbHost' port='$dbPort' dbname='$dbName' user='$dbUser' password='$dbPassword'"; |
|
$result = pg_connect($con_string, PGSQL_CONNECT_FORCE_NEW); |
|
if ($result) { |
|
pg_close($result); |
|
} |
|
|
|
if ($result) { |
|
$jsStartup[] = "alert('Conexão realizada com sucesso!');"; |
|
} else { |
|
$jsStartup[] = "alert('A conexão não pode ser realizada!');"; |
|
} |
|
} else if (isset($_POST["btGravar"])) { |
|
|
|
if (empty($_POST["dbHost"])) { |
|
$msg = "Informe o Host!"; |
|
} |
|
|
|
if (empty($_POST["dbPort"])) { |
|
$msg .= "Informe a porta!"; |
|
} |
|
|
|
if (empty($_POST["dbName"])) { |
|
$msg .= "Informe o nome da base de dados!"; |
|
} |
|
|
|
if (empty($_POST["dbUser"])) { |
|
$msg .= "Informe o usuáro do banco de dados!"; |
|
} |
|
|
|
if (empty($_POST["dbPassword"])) { |
|
$msg .= "Informe a senha do banco de dados!"; |
|
} |
|
|
|
$dbPort = $_POST["dbPort"]; |
|
$dbHost = $_POST["dbHost"]; |
|
$dbName = $_POST["dbName"]; |
|
$dbUser = $_POST["dbUser"]; |
|
|
|
if (md5($_SESSION['SSKeepPassword']) == $_POST["dbPassword"]) { |
|
$dbPassword = $_SESSION['SSKeepPassword']; |
|
} else { |
|
$dbPassword = $_POST["dbPassword"]; |
|
} |
|
|
|
if (empty($msg)) { |
|
$config["dbPort"] = $_POST["dbPort"]; |
|
$config["dbHost"] = $_POST["dbHost"]; |
|
$config["dbName"] = $_POST["dbName"]; |
|
$config["dbUser"] = $_POST["dbUser"]; |
|
$config["dbPassword"] = $dbPassword; |
|
GravaConfigDb($config); |
|
$jsStartup[] = "alert('Operação realizada com sucesso!');"; |
|
} else { |
|
$jsStartup[] = "alert('Operação não pode ser realizada! Erro(s): $msg');"; |
|
} |
|
} else { |
|
include(DB_CONFIG_FILE); |
|
} |
|
|
|
$_SESSION['SSKeepPassword'] = $dbPassword; |
|
$tpl = "configDb.tpl"; |
|
$smarty->assign("dbHost", $dbHost); |
|
$smarty->assign("dbPort", $dbPort); |
|
$smarty->assign("dbName", $dbName); |
|
$smarty->assign("dbUser", $dbUser); |
|
$smarty->assign("dbPassword", md5($dbPassword)); |
|
DispRel($smarty, $tpl); |
|
|
|
//template configGeral |
|
$tpl = "configSys.tpl"; |
|
$smarty->assign("idSubProg", $idSubProg); |
|
DispRel($smarty, $tpl); |
|
} else if ($idSubProg == CONFIG_GERAL_SISTEMA) { |
|
/* |
|
* Parametros gerais do sitema |
|
*/ |
|
$fields = array( |
|
'prm_slogan', 'prm_path_audio', 'prm_path_arq_agente', 'prm_logo_relatorio', 'prm_relatorio_head', |
|
'prm_relatorio_linha1', 'prm_relatorio_linha2', 'prm_msg_senha_def', 'prm_msg_senha_exp', 'prm_url_asterisk', |
|
'prm_ddd_padrao', 'prm_mun_padrao', 'prm_uf_padrao', 'prm_cadastro_atendidos', 'prm_digitos_conta', |
|
'prm_digitos_senha', 'prm_gera_conta', 'prm_pausa_grupo', 'prm_atende_auto', 'prm_atende_manual', |
|
'prm_atende_preferencial', 'prm_prefixo_sennha_ramal', 'prm_modulo_pesquisa', 'prm_contasenha_sinc', |
|
'prm_contasenha_master', 'prm_portabilidade', 'prm_tarifacao', 'prm_prepago', 'prm_use_discador', |
|
'prm_ativa_complemento_campanha', "prm_tempo_sessao", "prm_registro_pagina", "prm_use_vendas", "prm_nome_vendas", "prm_exige_proto_vendas", |
|
"prm_bloqueio", "prm_bloqueio_data", "prm_abandonada_semretorno", "prm_max_licenca", "prm_max_ramal", |
|
"prm_normaliza_agenda", 'prm_max_dias_relatorio', 'prm_log_dias', 'prm_ocultar_telefone', 'prm_ocultar_email', 'prm_ocultar_documento', 'prm_max_licenca_fixo', |
|
"prm_relatorio_servico" |
|
); |
|
$default = array("prm_atende_auto" => 0, "prm_atende_manual" => 0, "prm_tempo_sessao" => 20, "prm_normaliza_agenda" => 0, "prm_max_dias_relatorio" => 0, 'prm_log_dias' => 0, 'prm_ocultar_telefone' => 0); |
|
$values = array(); |
|
|
|
if (isset($_POST["btGravar"])) { |
|
|
|
if (!ExisteRegistro($dbcon, 'pbx_parametros', 'id', '1')) { |
|
$query = "INSERT INTO pbx_parametros (prm_slogan, prm_path_audio, prm_path_arq_agente, prm_logo_relatorio, prm_relatorio_head, prm_relatorio_linha1, prm_relatorio_linha2, prm_msg_senha_def, prm_msg_senha_exp, prm_url_asterisk, prm_ddd_padrao, prm_mun_padrao, prm_uf_padrao, prm_cadastro_atendido, prm_digitos_conta, prm_digitos_senhas, prm_gera_conta, prm_pausa_grupo, prm_atende_auto, prm_atende_manual, prm_atende_preferencial, prm_prefixo_sennha_ramal, prm_modulo_pesquisa, prm_contasenha_sinc, prm_contasenha_master, prm_portabilidade, prm_tarifacao, prm_prepago, prm_use_discador, prm_tempo_sessao, prm_registro_pagina, prm_use_vendas, prm_nome_vendas, prm_exige_proto_vendas, prm_bloqueio, prm_bloqueio_data, prm_abandonada_semretorno, prm_max_licenca, prm_max_ramal, prm_normaliza_agenda, prm_max_dias_relatorio, prm_ocultar_telefone, prm_ocultar_email, prm_ocultar_documento, prm_max_licenca_fixo, prm_relatorio_servico, org_id) |
|
VALUES({prm_slogan},{prm_path_audio},{prm_path_arq_agente}, {prm_logo_relatorio},{prm_relatorio_head},{prm_relatorio_linha1},{prm_relatorio_linha2},{prm_msg_senha_def},{prm_msg_senha_exp},{prm_url_asterisk},{prm_ddd_padrao},{prm_mun_padrao},{prm_uf_padrao},{prm_cadastro_atendidos},{prm_digitos_conta},{prm_digitos_senha},{prm_gera_conta},{prm_pausa_grupo},{prm_atende_auto},{prm_atende_manual},{prm_atende_preferencial},{prm_prefixo_sennha_ramal},{prm_modulo_pesquisa},{prm_contasenha_sinc},{prm_contasenha_master},{prm_portabilidade},{prm_tarifacao},{prm_prepago},{prm_use_discador},{prm_tempo_sessao},{prm_registro_pagina},{prm_use_vendas},{prm_nome_vendas}, {prm_exige_proto_vendas}, {prm_bloqueio}, {prm_bloqueio_data}, {prm_abandonada_semretorno}, {prm_max_licenca}, {prm_max_ramal}, {prm_normaliza_agenda},{prm_max_dias_relatorio}, {prm_ocultar_telefone}, {prm_ocultar_email}, {prm_ocultar_documento}, {prm_max_licenca_fixo}, {prm_relatorio_servico}, $org_id)"; |
|
} else { |
|
$query = "UPDATE pbx_parametros |
|
SET prm_slogan = {prm_slogan}, prm_path_audio = {prm_path_audio}, prm_path_arq_agente = {prm_path_arq_agente}, |
|
prm_logo_relatorio = {prm_logo_relatorio}, prm_relatorio_head = {prm_relatorio_head}, |
|
prm_relatorio_linha1 = {prm_relatorio_linha1}, prm_relatorio_linha2 = {prm_relatorio_linha2}, |
|
prm_msg_senha_def = {prm_msg_senha_def}, prm_msg_senha_exp = {prm_msg_senha_exp}, prm_url_asterisk = {prm_url_asterisk}, |
|
prm_ddd_padrao = {prm_ddd_padrao}, prm_mun_padrao = {prm_mun_padrao}, prm_uf_padrao = {prm_uf_padrao}, |
|
prm_cadastro_atendidos = {prm_cadastro_atendidos}, prm_digitos_conta = {prm_digitos_conta}, |
|
prm_digitos_senha = {prm_digitos_senha}, prm_gera_conta = {prm_gera_conta}, prm_pausa_grupo = {prm_pausa_grupo}, |
|
prm_atende_auto = {prm_atende_auto}, prm_atende_manual = {prm_atende_manual}, |
|
prm_atende_preferencial = {prm_atende_preferencial}, prm_modulo_pesquisa = {prm_modulo_pesquisa}, |
|
prm_prefixo_sennha_ramal = {prm_prefixo_sennha_ramal}, prm_contasenha_sinc = {prm_contasenha_sinc}, |
|
prm_contasenha_master = {prm_contasenha_master}, prm_portabilidade = {prm_portabilidade}, prm_tarifacao = {prm_tarifacao}, |
|
prm_prepago = {prm_prepago}, prm_use_discador = {prm_use_discador},prm_ativa_complemento_campanha = {prm_ativa_complemento_campanha}, prm_tempo_sessao = {prm_tempo_sessao}, |
|
prm_registro_pagina = {prm_registro_pagina}, prm_use_vendas = {prm_use_vendas}, prm_nome_vendas = {prm_nome_vendas}, |
|
prm_exige_proto_vendas = {prm_exige_proto_vendas}, prm_bloqueio = {prm_bloqueio}, prm_bloqueio_data = {prm_bloqueio_data}, |
|
prm_abandonada_semretorno = {prm_abandonada_semretorno}, prm_max_licenca = {prm_max_licenca}, prm_max_ramal = {prm_max_ramal}, |
|
prm_normaliza_agenda = {prm_normaliza_agenda}, prm_max_dias_relatorio = {prm_max_dias_relatorio}, prm_ocultar_telefone = {prm_ocultar_telefone}, |
|
prm_ocultar_email = {prm_ocultar_email}, prm_ocultar_documento = {prm_ocultar_documento}, prm_max_licenca_fixo = {prm_max_licenca_fixo}, prm_relatorio_servico = {prm_relatorio_servico} |
|
WHERE id = {$_SESSION['prm_id']}"; |
|
} |
|
|
|
$fileLogo = MoveLogo(); |
|
$useFile = !empty($fileLogo); |
|
$msgErro = ""; |
|
$dataBloq = trim($_POST['prm_bloqueio_data']); |
|
$diasArmazenaLog = trim($_POST['prm_log_dias']); |
|
|
|
if (!VerificaMunPadrao()) { |
|
$msgErro = 'A operação não pode ser realizada! DDD Padrão não confere com o Município e UF digitado!'; |
|
$result = false; |
|
} else if (!empty($dataBloq) && !is_date($dataBloq)) { |
|
$msgErro = "Data de bloqueio inválida!"; |
|
$result = false; |
|
} else if (!VerificaRamaisCriados($_POST['prm_max_ramal'])) { |
|
$msgErro = "O número de ramais criados é superior ao parametro informado em \"Licença de Ramais\"!"; |
|
$result = false; |
|
} else if ($useFile) { |
|
$ext = GetFileExt($fileLogo); |
|
$extValida = array('jpg', 'gif', 'png', 'jpeg'); |
|
if (array_search($ext, $extValida) === false) { |
|
$msgErro = "Arquivo inválido!"; |
|
$result = false; |
|
} |
|
} else if (!ValidaDiasArmazenaLog($diasArmazenaLog)) { |
|
$msgErro = 'O período mínimo de amazenamento de logs do sistema é de 30 dias!'; |
|
$result = false; |
|
} |
|
|
|
$useQuote = 1; |
|
if (empty($msgErro)) { |
|
foreach ($fields as $value) { |
|
$valor = isset($_POST[$value]) ? $_POST[$value] : ''; |
|
if ($useFile && empty($msgErro) && ($value == 'prm_logo_relatorio')) { |
|
$valor = $fileLogo; |
|
} |
|
|
|
$valor = ($valor ? $valor : (array_key_exists($value, $default) ? $default[$value] : $valor)); |
|
//Sobrescreve valores |
|
if ($value == 'prm_contasenha_sinc') { |
|
$values[$value] = SincContaSenha(); |
|
} else if ($value == 'prm_contasenha_master') { |
|
$values[$value] = IsServerMaster(); |
|
} else if ($value == 'prm_bloqueio_data') { |
|
$values[$value] = $valor; |
|
if ($dataBloq) { |
|
$valor = FormatDtMssql($valor); |
|
} else { |
|
$valor = 'null'; |
|
$useQuote = 0; |
|
} |
|
} else { |
|
$values[$value] = $valor; |
|
} |
|
$query = str_replace("{" . $value . "}", ($useQuote ? QuotedStr($valor) : $valor), $query); |
|
$useQuote = 1; |
|
} |
|
} |
|
|
|
if (empty($msgErro)) { |
|
//if(IsAdmin()) echo $query; |
|
$result = pg_query($dbcon, $query); |
|
} |
|
|
|
if ($result) { |
|
AtualizaLinkAgente(); |
|
|
|
$query = sprintf("UPDATE pbx_funcoes SET fun_status = '%s' WHERE fun_nome = 'mnDiscador';", $_POST['prm_use_discador'] ? 1 : 0); |
|
$result = pg_query($dbcon, $query); |
|
|
|
$query = sprintf("UPDATE pbx_funcoes SET fun_status = '%s' WHERE fun_id_pai = (select fun_id from pbx_funcoes where fun_nome = 'mnDiscador');", $_POST['prm_use_discador'] ? 1 : 0); |
|
$result = $result && pg_query($dbcon, $query); |
|
|
|
AtualizaMenuVendas($_POST['prm_use_vendas']); |
|
|
|
if (!$result) { |
|
$msgErro = sprintf("Erro ao %s o discador", $_POST['prm_use_discador'] ? 'habilitar' : 'desabilitar'); |
|
} |
|
} |
|
|
|
if ($result) { |
|
$jsStartup[] = "alert('operação realizada com sucesso!');"; |
|
@GetParametros($dbcon); |
|
@SetModuAtendimentoDefault(); |
|
} else { |
|
//if(IsAdmin()) echo $query; |
|
$jsStartup[] = "alert('A operação não pode ser realizada! $msgErro');"; |
|
} |
|
} |
|
|
|
$query = "SELECT id as prm_id, prm_slogan, prm_path_audio, prm_path_arq_agente, prm_logo_relatorio, prm_relatorio_head, prm_relatorio_linha1, |
|
prm_relatorio_linha2, prm_msg_senha_def, prm_msg_senha_exp, prm_url_asterisk, prm_ddd_padrao, prm_mun_padrao, |
|
prm_uf_padrao, prm_cadastro_atendidos, prm_digitos_conta, prm_digitos_senha, prm_gera_conta, prm_pausa_grupo, |
|
prm_atende_auto, prm_atende_manual, prm_atende_preferencial, prm_prefixo_sennha_ramal, prm_modulo_pesquisa, |
|
prm_contasenha_sinc, prm_contasenha_master, prm_portabilidade, prm_tarifacao, prm_prepago, prm_use_discador, |
|
prm_ativa_complemento_campanha, prm_tempo_sessao, prm_registro_pagina, prm_use_vendas, prm_nome_vendas, |
|
prm_exige_proto_vendas, prm_bloqueio, prm_bloqueio_data, prm_abandonada_semretorno, prm_max_licenca, |
|
prm_max_ramal,prm_normaliza_agenda, prm_max_dias_relatorio, prm_ocultar_telefone, prm_ocultar_email, |
|
prm_ocultar_documento,prm_max_licenca_fixo, prm_relatorio_servico |
|
FROM pbx_parametros WHERE id = 1"; |
|
$result = pg_query($dbcon, $query); |
|
$dados = @pg_fetch_array($result); |
|
foreach ($fields as $value) { |
|
if ($value == 'prm_bloqueio_data') { |
|
$values[$value] = !$dados[$value] ? '' : FormataDataDbDataDisplay($dados[$value]); |
|
} else { |
|
$values[$value] = $dados[$value]; |
|
} |
|
} |
|
|
|
$jsJQuery[] = GetJqCalendario('', 'prm_bloqueio_data'); |
|
/* |
|
* Valores são sobrescritos por valores retornado do arquivo configs.ini. |
|
*/ |
|
$values['prm_contasenha_sinc'] = SincContaSenha(); |
|
$values['prm_contasenha_master'] = IsServerMaster(); |
|
foreach ($fields as $value) { |
|
$smarty->assign($value, $values[$value]); |
|
} |
|
$smarty->assign('isAdmin', IsAdmin()); |
|
$tpl = "confSistema.tpl"; |
|
DispRel($smarty, $tpl); |
|
//template configGeral |
|
$tpl = "configSys.tpl"; |
|
$smarty->assign("idSubProg", $idSubProg); |
|
DispRel($smarty, $tpl); |
|
} else if ($idSubProg == CONFIG_AGENTE) { |
|
include_once('admin/funcoes.php'); |
|
include_once("admin/opcoes.php"); |
|
$opcoes = _GetIntegracaoMetodo($dbcon, $_REQUEST['prm_select_integracao']); |
|
|
|
/* |
|
* Parametros do agente |
|
*/ |
|
$fields = array( |
|
'prm_agente_classifica', 'prm_agente_atualiza', 'prm_agente_proto', 'prm_agente_contribuinte', 'prm_disponivel_fila', 'prm_boloco_notas_key', |
|
'autologoff', 'autologoffunavail', 'endcall', 'custom_beep', 'wrapuptime', 'prm_agente_nova_janela', 'prm_label_protoco_pesquisa', 'prm_label_protoco_texto', |
|
'prm_label_protoco_grid', 'prm_alerta_classificacao', 'prm_use_proto_parceiro', 'prm_ativa_integracao', 'prm_select_integracao', 'prm_aviso_desconnect', 'prm_validacao_protocolo', 'prm_link_audio' |
|
); |
|
$values = array(); |
|
if (isset($_GET["idSubProg"])) { |
|
$query = "SELECT id, coalesce(prm_agente_classifica, 5) as prm_agente_classifica, coalesce(prm_agente_atualiza, 5) as prm_agente_atualiza, |
|
prm_agente_proto, prm_agente_contribuinte, prm_disponivel_fila, prm_boloco_notas_key, autologoff, trim(autologoffunavail) as autologoffunavail, endcall, |
|
custom_beep, wrapuptime, prm_agente_nova_janela, prm_label_protoco_pesquisa, prm_label_protoco_texto, prm_label_protoco_grid, prm_alerta_classificacao, prm_use_proto_parceiro, |
|
prm_ativa_integracao, prm_select_integracao, prm_aviso_desconnect, prm_link_audio |
|
FROM pbx_parametros |
|
WHERE id = {$_SESSION['prm_id']}"; |
|
$result = pg_query($dbcon, $query); |
|
$dados = @pg_fetch_array($result); |
|
foreach ($fields as $value) { |
|
$values[$value] = $dados[$value]; |
|
} |
|
} else { |
|
if (!ExisteRegistro($dbcon, 'pbx_parametros', 'id', '1')) { |
|
$query = "INSERT INTO pbx_parametros |
|
(prm_agente_classifica, prm_agente_atualiza, prm_agente_proto, prm_agente_contribuinte, prm_classifica_municipio, prm_disponivel_fila, prm_boloco_notas_key, prm_exige_classificacao, prm_obs_pausaprod, autologoff, autologoffunavail, endcall, custom_beep, wrapuptime,prm_agente_nova_janela, prm_label_protoco_pesquisa, prm_label_protoco_texto, prm_label_protoco_grid, prm_alerta_classificacao, prm_use_proto_parceiro, prm_ativa_integracao,prm_select_integracao,prm_aviso_desconnect,prm_validacao_protocolo,prm_link_audio) |
|
VALUES({prm_agente_classifica}, {prm_agente_atualiza}, {prm_agente_proto}, {prm_agente_contribuinte}, '0', {prm_disponivel_fila}, {prm_boloco_notas_key}, '0', '0', {autologoff}, {autologoffunavail}, {endcall}, {custom_beep}, {wrapuptime}, {prm_agente_nova_janela}, {prm_label_protoco_pesquisa}, {prm_label_protoco_texto}, {prm_label_protoco_grid}, {prm_alerta_classificacao}, {prm_use_proto_parceiro},{prm_ativa_integracao},{prm_select_integracao},{prm_aviso_desconnect},{prm_validacao_protocolo},{prm_link_audio})"; |
|
} else { |
|
$query = "UPDATE pbx_parametros |
|
SET prm_agente_classifica = {prm_agente_classifica}, prm_agente_atualiza = {prm_agente_atualiza}, |
|
prm_agente_proto = {prm_agente_proto}, prm_agente_contribuinte = {prm_agente_contribuinte}, |
|
prm_classifica_municipio = '0', prm_disponivel_fila = {prm_disponivel_fila}, |
|
prm_boloco_notas_key = {prm_boloco_notas_key}, prm_exige_classificacao = '0', |
|
prm_obs_pausaprod = '0', autologoff = {autologoff}, autologoffunavail = {autologoffunavail}, endcall = {endcall}, |
|
custom_beep = {custom_beep}, wrapuptime = {wrapuptime}, prm_agente_nova_janela = {prm_agente_nova_janela}, |
|
prm_label_protoco_pesquisa = {prm_label_protoco_pesquisa}, prm_label_protoco_texto = {prm_label_protoco_texto}, |
|
prm_label_protoco_grid = {prm_label_protoco_grid}, prm_alerta_classificacao = {prm_alerta_classificacao}, prm_use_proto_parceiro = {prm_use_proto_parceiro}, |
|
prm_ativa_integracao = {prm_ativa_integracao}, prm_select_integracao = {prm_select_integracao}, prm_aviso_desconnect = {prm_aviso_desconnect}, |
|
prm_validacao_protocolo = {prm_validacao_protocolo}, prm_link_audio = {prm_link_audio} |
|
WHERE id = {$_SESSION['prm_id']}"; |
|
} |
|
|
|
foreach ($fields as $value) { |
|
$query = str_replace("{" . $value . "}", QuotedStr($_POST[$value]), $query); |
|
$values[$value] = $_POST[$value]; |
|
} |
|
//echo $query; |
|
$result = pg_query($dbcon, $query); |
|
|
|
if ($result) { |
|
AtualizaLinkAgente(); |
|
gera_arquivos($dbcon, 'AGENTS_ADICIONAL'); |
|
gera_arquivos($dbcon, 'AGENTS_GENERAL'); |
|
$jsStartup[] = "alert('operação realizada com sucesso!');"; |
|
@GetParametros($dbcon); |
|
} else { |
|
$jsStartup[] = "alert('A operação não pode ser realizada!');"; |
|
} |
|
} |
|
|
|
$opcoes = _GetIntegracaoMetodo($dbcon, $values['prm_select_integracao']); |
|
foreach ($fields as $value) |
|
$smarty->assign($value, $values[$value]); |
|
|
|
$smarty->assign('isAdmin', IsAdmin()); |
|
$smarty->assign('opcoes', $opcoes); |
|
$smarty->assign('optValProto', GetSelectValProto()); |
|
$tpl = "configAgente.tpl"; |
|
DispRel($smarty, $tpl); |
|
//template configGeral |
|
$tpl = "configSys.tpl"; |
|
$smarty->assign("idSubProg", $idSubProg); |
|
DispRel($smarty, $tpl); |
|
} else if ($idSubProg == CONFIG_SUPERVISOR) { |
|
/* |
|
* Parametos do supervisor |
|
*/ |
|
|
|
$fields = array('prm_super_atualiza', 'prm_super_alerta_atende', 'prm_super_alerta_pausa', 'prm_super_alerta_livre', 'prm_super_alerta_pausa_checkebox', 'prm_max_agente_pausa', 'prm_aviso_lgpd_monitoria'); |
|
$values = array(); |
|
if (isset($_GET["idSubProg"])) { |
|
$query = "SELECT id, COALESCE(prm_super_atualiza, 5) AS prm_super_atualiza, |
|
prm_super_alerta_atende, prm_super_alerta_pausa, prm_super_alerta_livre, prm_max_agente_pausa, prm_aviso_lgpd_monitoria |
|
FROM pbx_parametros WHERE id = {$_SESSION['prm_id']}"; |
|
$result = pg_query($dbcon, $query); |
|
$dados = @pg_fetch_array($result); |
|
foreach ($fields as $value) |
|
$values[$value] = $dados[$value]; |
|
} else { |
|
if (!ExisteRegistro($dbcon, 'pbx_parametros', 'id', '1')) { |
|
$query = "INSERT INTO pbx_parametros |
|
(prm_super_atualiza, prm_super_alerta_atende, prm_super_alerta_pausa, prm_super_alerta_livre, prm_max_agente_pausa, prm_aviso_lgpd_monitoria) |
|
VALUES({prm_super_atualiza}, {prm_super_alerta_atende}, {prm_super_alerta_pausa}, {prm_super_alerta_livre}, {prm_max_agente_pausa}, {prm_aviso_lgpd_monitoria})"; |
|
} else { |
|
$query = "UPDATE pbx_parametros |
|
SET prm_super_atualiza = {prm_super_atualiza}, |
|
prm_super_alerta_atende = {prm_super_alerta_atende}, |
|
prm_super_alerta_pausa = {prm_super_alerta_pausa}, |
|
prm_super_alerta_livre = {prm_super_alerta_livre}, |
|
prm_max_agente_pausa = {prm_max_agente_pausa}, |
|
prm_aviso_lgpd_monitoria = {prm_aviso_lgpd_monitoria} |
|
WHERE id = {$_SESSION['prm_id']}"; |
|
} |
|
|
|
if ($values['prm_super_alerta_pausa'] != $_POST['prm_super_alerta_pausa'] && $_POST['prm_super_alerta_pausa_checkebox']) { |
|
$sql = "UPDATE pbx_motivos_pausas SET tempo_alerta = " . $_POST['prm_super_alerta_pausa'] * 60; |
|
pg_query($dbcon, $sql); |
|
} |
|
|
|
foreach ($fields as $value) { |
|
$query = str_replace("{" . $value . "}", QuotedStr($_POST[$value]), $query); |
|
$values[$value] = $_POST[$value]; |
|
} |
|
|
|
$result = pg_query($dbcon, $query); |
|
|
|
if ($result) { |
|
$jsStartup[] = "alert('operação realizada com sucesso!');"; |
|
@GetParametros($dbcon); |
|
} else { |
|
$jsStartup[] = "alert('A operação não pode ser realizada!');"; |
|
} |
|
} |
|
|
|
foreach ($fields as $value) |
|
$smarty->assign($value, $values[$value]); |
|
|
|
$smarty->assign('isAdmin', IsAdmin()); |
|
$tpl = "configSuper.tpl"; |
|
DispRel($smarty, $tpl); |
|
//template configGeral |
|
$tpl = "configSys.tpl"; |
|
$smarty->assign("idSubProg", $idSubProg); |
|
DispRel($smarty, $tpl); |
|
} else if ($idSubProg == CONFIG_MANAGER) { |
|
/* |
|
* Parametos de socket |
|
*/ |
|
$fields = array('prm_sk_host', 'prm_sk_port', 'prm_sk_login', 'prm_sk_password', 'prm_sk_host_externo', 'prm_sk_api_centrais'); |
|
$values = array(); |
|
if (isset($_GET["idSubProg"])) { |
|
$query = "SELECT id, prm_sk_host, prm_sk_port, prm_sk_login, prm_sk_password, prm_sk_host_externo, prm_sk_api_centrais FROM pbx_parametros WHERE id = {$_SESSION['prm_id']}"; |
|
$result = pg_query($dbcon, $query); |
|
$dados = pg_fetch_array($result); |
|
foreach ($fields as $value) { |
|
if ($value == 'prm_sk_password') { |
|
$_SESSION['SSKeepPassword'] = $dados[$value]; |
|
$values[$value] = $_SESSION['SSKeepPassword']; |
|
} else { |
|
$values[$value] = $dados[$value]; |
|
} |
|
} |
|
} else if (isset($_POST["btTestar"])) { |
|
$result = ConectaAmi($_POST["prm_sk_host"], $_POST["prm_sk_port"], $_POST["prm_sk_login"], md5($_SESSION['SSKeepPassword']) == $_POST["prm_sk_password"] ? $_SESSION['SSKeepPassword'] : $_POST["prm_sk_password"]); |
|
$jsStartup[] = $result ? "alert('Conexão realizada com sucesso!');" : "alert('Não foi possível realizar a operação!');"; |
|
|
|
foreach ($fields as $value) { |
|
$query = str_replace("{" . $value . "}", QuotedStr($_POST[$value]), $query); |
|
$values[$value] = $_POST[$value]; |
|
} |
|
} else { |
|
if (!ExisteRegistro($dbcon, 'pbx_parametros', 'id', '1')) { |
|
$query = "INSERT INTO pbx_parametros |
|
(prm_sk_host, prm_sk_port, prm_sk_login, prm_sk_password, prm_sk_host_externo, prm_sk_api_centrais) |
|
VALUES ({prm_sk_host}, {prm_sk_port}, {prm_sk_login}, {prm_sk_password}, {prm_sk_host_externo}, {prm_sk_api_centrais})"; |
|
} else { |
|
$query = "UPDATE pbx_parametros |
|
SET prm_sk_host = {prm_sk_host}, prm_sk_port = {prm_sk_port}, prm_sk_login = {prm_sk_login}, |
|
prm_sk_password = {prm_sk_password}, prm_sk_host_externo = {prm_sk_host_externo}, prm_sk_api_centrais = {prm_sk_api_centrais} |
|
WHERE id = {$_SESSION['prm_id']}"; |
|
} |
|
|
|
foreach ($fields as $value) { |
|
if ($value == 'prm_sk_password' && md5($_SESSION['SSKeepPassword']) == trim($_POST[$value])) { |
|
$query = str_replace("{" . $value . "}", QuotedStr($_SESSION['SSKeepPassword']), $query); |
|
$values[$value] = $_SESSION['SSKeepPassword']; |
|
} else { |
|
$query = str_replace("{" . $value . "}", QuotedStr($_POST[$value]), $query); |
|
$values[$value] = $_POST[$value]; |
|
} |
|
} |
|
|
|
$result = pg_query($dbcon, $query); |
|
|
|
if ($result) { |
|
$jsStartup[] = "alert('operação realizada com sucesso!');"; |
|
GetParametros($dbcon); |
|
} else { |
|
$jsStartup[] = "alert('A operação não pode ser realizada!');"; |
|
} |
|
} |
|
|
|
foreach ($fields as $value) { |
|
if ($value == 'prm_sk_password') { |
|
$values[$value] = md5($values[$value]); |
|
} |
|
$smarty->assign($value, $values[$value]); |
|
} |
|
|
|
$smarty->assign('isAdmin', IsAdmin()); |
|
$tpl = "configSocketServer.tpl"; |
|
DispRel($smarty, $tpl); |
|
|
|
//template configGeral |
|
$tpl = "configSys.tpl"; |
|
$smarty->assign("idSubProg", $idSubProg); |
|
DispRel($smarty, $tpl); |
|
} else if ($idSubProg == CONFIG_CHAT) { |
|
/* |
|
* Parametos de socket |
|
*/ |
|
$fields = array('prm_sk_host_chat', 'prm_chat_api', 'prm_media_simultaneo', 'prm_chat_api_supervisor', 'prm_chat_url_client'); |
|
|
|
$values = array(); |
|
if (isset($_GET["idSubProg"])) { |
|
$query = "SELECT id, prm_sk_host_chat, prm_chat_api, prm_media_simultaneo, prm_chat_api_supervisor, prm_chat_url_client FROM pbx_parametros WHERE id = {$_SESSION['prm_id']}"; |
|
$result = pg_query($dbcon, $query); |
|
$dados = pg_fetch_array($result); |
|
foreach ($fields as $value) { |
|
$values[$value] = $dados[$value]; |
|
} |
|
} else { |
|
if (!ExisteRegistro($dbcon, 'pbx_parametros', 'id', '1')) { |
|
$query = "INSERT INTO pbx_parametros |
|
(prm_sk_host_chat, prm_chat_api, prm_media_simultaneo, prm_chat_api_supervisor, prm_chat_url_client) |
|
values({prm_sk_host_chat}, {prm_chat_api}, {prm_media_simultaneo}, {prm_chat_api_supervisor}, {prm_chat_url_client})"; |
|
} else { |
|
$query = "UPDATE pbx_parametros |
|
SET prm_sk_host_chat = {prm_sk_host_chat}, |
|
prm_chat_api = {prm_chat_api}, |
|
prm_media_simultaneo = {prm_media_simultaneo}, prm_chat_api_supervisor = {prm_chat_api_supervisor}, |
|
prm_chat_url_client = {prm_chat_url_client} |
|
WHERE id = {$_SESSION['prm_id']}"; |
|
} |
|
|
|
foreach ($fields as $value) { |
|
$query = str_replace("{" . $value . "}", QuotedStr($_POST[$value]), $query); |
|
$values[$value] = $_POST[$value]; |
|
} |
|
|
|
$result = pg_query($dbcon, $query); |
|
|
|
if ($result) { |
|
$jsStartup[] = "alert('operação realizada com sucesso!');"; |
|
GetParametros($dbcon); |
|
} else { |
|
$jsStartup[] = "alert('A operação não pode ser realizada!');"; |
|
} |
|
} |
|
|
|
foreach ($fields as $value) { |
|
$smarty->assign($value, $values[$value]); |
|
} |
|
|
|
$smarty->assign('isAdmin', IsAdmin()); |
|
$tpl = "configChatAgente.tpl"; |
|
DispRel($smarty, $tpl); |
|
|
|
//template configGeral |
|
$tpl = "configSys.tpl"; |
|
$smarty->assign("idSubProg", $idSubProg); |
|
DispRel($smarty, $tpl); |
|
} else if ($idSubProg == CONFIG_LICENCA) { |
|
include "util/funcoesLicenca.php"; |
|
|
|
$fields = filter_input_array(INPUT_POST, FILTER_SANITIZE_SPECIAL_CHARS); |
|
|
|
$query = sprintf("SELECT perm_licenca FROM pbx_usuarios WHERE matricula = '%s';", GetMatricula()); |
|
$result = pg_query($dbcon, $query); |
|
$infoUser = pg_fetch_assoc($result); |
|
$mensagem = null; |
|
|
|
if ($fields['btGerar']) { |
|
if ($fields['document'] && $fields['perfil']) { |
|
$fields['document'] = preg_replace('/[^0-9]/', '', $fields['document']); |
|
GerarArquivo($fields); |
|
} else { |
|
$jsStartup[] = "alert('Preencha as Informações da Licença!')"; |
|
} |
|
} |
|
|
|
|
|
if (isset($fields['btValidar'])) { |
|
try { |
|
$json = validarArquivo($_FILES); |
|
if (!$json) { |
|
throw new Exception('Não foi possível ler o arquivo informado!'); |
|
} |
|
if (!__validLicenca($dbcon, $json)) { |
|
$mensagem = ['type' => 'error', "msg" => "Não foi possível validar a licença!"]; |
|
} |
|
$mensagem = ['type' => 'success', "msg" => "A licença foi registrada com sucesso!"]; |
|
} catch (Exception $ex) { |
|
$mensagem = ['type' => 'error', "msg" => $ex->getMessage()]; |
|
} |
|
} |
|
|
|
$perfils = GetPerfilApl(); |
|
$slcOpt = ""; |
|
foreach ($perfils as $k => $v) { |
|
$slcOpt .= "<option value='{$v['gp_id']}'>{$v['gp_nome']} - {$v['gp_descricao']}</option>"; |
|
} |
|
$smarty->assign('select_perfil', $slcOpt); |
|
|
|
foreach ($fields as $k => $v) { |
|
$smarty->assign($k, $v); |
|
} |
|
|
|
$smarty->assign('mensagem', $mensagem); |
|
$smarty->assign('perm', $infoUser['perm_licenca']); |
|
$smarty->assign('isAdmin', IsAdmin()); |
|
$tpl = "configLicenca.tpl"; |
|
DispRel($smarty, $tpl); |
|
|
|
//template configGeral |
|
$tpl = "configSys.tpl"; |
|
$smarty->assign("idSubProg", $idSubProg); |
|
DispRel($smarty, $tpl); |
|
} |
|
|
|
function MoveLogo() |
|
{ |
|
$moveFile = 0; |
|
|
|
if (!empty($_FILES['logoRelatorio']['name'])) { |
|
$tmpFileName = $_FILES['logoRelatorio']['name']; |
|
$nomeArq = strtolower($tmpFileName); |
|
$nomeArq = LimpaString($nomeArq, false); |
|
|
|
$pathFile = 'imgSite/' . $nomeArq; |
|
|
|
$tmpFileName = $_FILES['logoRelatorio']['tmp_name']; |
|
$moveFile = move_uploaded_file($tmpFileName, $pathFile); |
|
} |
|
|
|
return $moveFile ? $nomeArq : ""; |
|
} |
|
|
|
function DispRel($smarty, $tpl) |
|
{ |
|
GetTemplate($smarty, $tpl); |
|
} |
|
|
|
function VerificaMunPadrao() |
|
{ |
|
global $dbcon; |
|
$cidade = strtoupper(RemoveAcentos($_POST['prm_mun_padrao'])); |
|
$uf = strtoupper(RemoveAcentos($_POST['prm_uf_padrao'])); |
|
$ddd = $_POST['prm_ddd_padrao']; |
|
$sql = "SELECT count(*) FROM pbx_municipios WHERE upper(to_ascii(nome_municipio)) = '$cidade' AND upper(to_ascii(uf)) = '$uf' AND codigo_ddd = $ddd"; |
|
$result1 = pg_query($dbcon, $sql); |
|
$dados = pg_fetch_row($result1); |
|
return $dados[0]; |
|
} |
|
|
|
function VerificaRamaisCriados($prmMaxRamal) |
|
{ |
|
global $dbcon; |
|
$org_id = GetOrganizacao(); |
|
/* |
|
* Zero indica que o numero de ramais será ilimitado. |
|
*/ |
|
if ((int) $prmMaxRamal === 0) { |
|
return true; |
|
} |
|
$sql = "SELECT count(*) FROM pbx_ramais WHERE org_id = {$org_id}"; |
|
$result1 = pg_query($dbcon, $sql); |
|
$dados = pg_fetch_row($result1); |
|
return $prmMaxRamal >= $dados[0]; |
|
} |
|
|
|
function ValidaDiasArmazenaLog($dias) |
|
{ |
|
if ($dias != 0 && $dias < 30) { |
|
return false; |
|
} |
|
return true; |
|
}
|
|
|