|
|
|
|
<?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);
|
|
|
|
|
|
|
|
|
|
$query = "";
|
|
|
|
|
//VerificaPerfilAcesso(SEG_CONFIGURACOES);
|
|
|
|
|
|
|
|
|
|
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<EFBFBD>o realizada com sucesso!');";
|
|
|
|
|
} else {
|
|
|
|
|
$jsStartup[] = "alert('A conex<EFBFBD>o n<EFBFBD>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<EFBFBD>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<EFBFBD><EFBFBD>o realizada com sucesso!');";
|
|
|
|
|
} else {
|
|
|
|
|
$jsStartup[] = "alert('Opera<EFBFBD><EFBFBD>o n<EFBFBD>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_ocultar_telefone', 'prm_ocultar_email', 'prm_ocultar_documento', 'prm_max_licenca_fixo');
|
|
|
|
|
$default = array("prm_atende_auto" => 0, "prm_atende_manual" => 0, "prm_tempo_sessao" => 20, "prm_normaliza_agenda" => 0, "prm_max_dias_relatorio" => 0, 'prm_ocultar_telefone' => 0);
|
|
|
|
|
$values = array();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (isset($_POST["btGravar"])) {
|
|
|
|
|
|
|
|
|
|
if (!ExisteRegistro($dbcon, 'pbx_parametros', 'id', '1')) {
|
|
|
|
|
$query = "insert
|
|
|
|
|
into pbx_parametros
|
|
|
|
|
(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_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)
|
|
|
|
|
values(1, {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})";
|
|
|
|
|
} 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}
|
|
|
|
|
where id = 1";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$fileLogo = MoveLogo();
|
|
|
|
|
$useFile = !empty($fileLogo);
|
|
|
|
|
$msgErro = "";
|
|
|
|
|
$dataBloq = trim($_POST['prm_bloqueio_data']);
|
|
|
|
|
|
|
|
|
|
if (!VerificaMunPadrao()) {
|
|
|
|
|
$msgErro = 'A opera<EFBFBD><EFBFBD>o n<EFBFBD>o pode ser realizada! DDD Padr<EFBFBD>o n<EFBFBD>o confere com o Munic<EFBFBD>pio e UF digitado!';
|
|
|
|
|
$result = false;
|
|
|
|
|
} else if (!empty($dataBloq) && !is_date($dataBloq)) {
|
|
|
|
|
$msgErro = "Data de bloqueio inv<EFBFBD>lida!";
|
|
|
|
|
$result = false;
|
|
|
|
|
} else if (!VerificaRamaisCriados($_POST['prm_max_ramal'])) {
|
|
|
|
|
$msgErro = "O n<EFBFBD>mero de ramais criados <EFBFBD> superior ao parametro informado em \"Licen<EFBFBD>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<EFBFBD>lido!";
|
|
|
|
|
$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($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($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($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<EFBFBD><EFBFBD>o realizada com sucesso!');";
|
|
|
|
|
@GetParametros($dbcon);
|
|
|
|
|
@SetModuAtendimentoDefault();
|
|
|
|
|
} else {
|
|
|
|
|
//if(IsAdmin()) echo $query;
|
|
|
|
|
$jsStartup[] = "alert('A opera<EFBFBD><EFBFBD>o n<EFBFBD>o pode ser realizada! $msgErro');";
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$query = "select 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
|
|
|
|
|
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<EFBFBD>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 = 1";
|
|
|
|
|
$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
|
|
|
|
|
(id, 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(1, {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 = 1";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
foreach ($fields as $value) {
|
|
|
|
|
$query = str_replace("{" . $value . "}", QuotedStr($_POST[$value]), $query);
|
|
|
|
|
$values[$value] = $_POST[$value];
|
|
|
|
|
}
|
|
|
|
|
//echo $query;
|
|
|
|
|
$result = @pg_query($query);
|
|
|
|
|
|
|
|
|
|
if ($result) {
|
|
|
|
|
AtualizaLinkAgente();
|
|
|
|
|
gera_arquivos($dbcon, 'AGENTS_ADICIONAL');
|
|
|
|
|
gera_arquivos($dbcon, 'AGENTS_GENERAL');
|
|
|
|
|
$jsStartup[] = "alert('opera<EFBFBD><EFBFBD>o realizada com sucesso!');";
|
|
|
|
|
@GetParametros($dbcon);
|
|
|
|
|
} else {
|
|
|
|
|
$jsStartup[] = "alert('A opera<EFBFBD><EFBFBD>o n<EFBFBD>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');
|
|
|
|
|
$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
|
|
|
|
|
from pbx_parametros where id = 1";
|
|
|
|
|
$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
|
|
|
|
|
(id, prm_super_atualiza, prm_super_alerta_atende, prm_super_alerta_pausa, prm_super_alerta_livre, prm_max_agente_pausa)
|
|
|
|
|
values(1, {prm_super_atualiza}, {prm_super_alerta_atende}, {prm_super_alerta_pausa}, {prm_super_alerta_livre}, {prm_max_agente_pausa})";
|
|
|
|
|
} 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}
|
|
|
|
|
where id = 1";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
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($sql);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
foreach ($fields as $value) {
|
|
|
|
|
$query = str_replace("{" . $value . "}", QuotedStr($_POST[$value]), $query);
|
|
|
|
|
$values[$value] = $_POST[$value];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$result = @pg_query($query);
|
|
|
|
|
|
|
|
|
|
if ($result) {
|
|
|
|
|
$jsStartup[] = "alert('opera<EFBFBD><EFBFBD>o realizada com sucesso!');";
|
|
|
|
|
@GetParametros($dbcon);
|
|
|
|
|
} else {
|
|
|
|
|
$jsStartup[] = "alert('A opera<EFBFBD><EFBFBD>o n<EFBFBD>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 = 1";
|
|
|
|
|
$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<EFBFBD>o realizada com sucesso!');" : "alert('N<EFBFBD>o foi poss<EFBFBD>vel realizar a opera<EFBFBD><EFBFBD>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
|
|
|
|
|
(id, prm_sk_host, prm_sk_port, prm_sk_login, prm_sk_password, prm_sk_host_externo, prm_sk_api_centrais)
|
|
|
|
|
values(1, {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 = 1";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
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($query);
|
|
|
|
|
|
|
|
|
|
if ($result) {
|
|
|
|
|
$jsStartup[] = "alert('opera<EFBFBD><EFBFBD>o realizada com sucesso!');";
|
|
|
|
|
GetParametros($dbcon);
|
|
|
|
|
} else {
|
|
|
|
|
$jsStartup[] = "alert('A opera<EFBFBD><EFBFBD>o n<EFBFBD>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 = 1";
|
|
|
|
|
$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(1, {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 = 1";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
foreach ($fields as $value) {
|
|
|
|
|
$query = str_replace("{" . $value . "}", QuotedStr($_POST[$value]), $query);
|
|
|
|
|
$values[$value] = $_POST[$value];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$result = pg_query($query);
|
|
|
|
|
|
|
|
|
|
if ($result) {
|
|
|
|
|
$jsStartup[] = "alert('opera<EFBFBD><EFBFBD>o realizada com sucesso!');";
|
|
|
|
|
GetParametros($dbcon);
|
|
|
|
|
} else {
|
|
|
|
|
$jsStartup[] = "alert('A opera<EFBFBD><EFBFBD>o n<EFBFBD>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);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function MoveLogo() {
|
|
|
|
|
$moveFile = 0;
|
|
|
|
|
|
|
|
|
|
if (!empty($_FILES['logoRelatorio']['name'])) {
|
|
|
|
|
$tmpFileName = $_FILES['logoRelatorio']['name'];
|
|
|
|
|
$nomeArq = strtolower($tmpFileName);
|
|
|
|
|
$nomeArq = LimpaString($nomeArq);
|
|
|
|
|
|
|
|
|
|
$pathFile = 'imgSite/' . $nomeArq;
|
|
|
|
|
|
|
|
|
|
$tmpFileName = $_FILES['logoRelatorio']['tmp_name'];
|
|
|
|
|
$moveFile = move_uploaded_file($tmpFileName, $pathFile);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return $moveFile ? $nomeArq : "";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function DispRel($smarty, $tpl) {
|
|
|
|
|
GetTemplate($smarty, $tpl);
|
|
|
|
|
//$smarty->display($tpl);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function VerificaMunPadrao() {
|
|
|
|
|
$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($sql);
|
|
|
|
|
$dados = pg_fetch_row($result1);
|
|
|
|
|
return $dados[0];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function VerificaRamaisCriados($prmMaxRamal) {
|
|
|
|
|
/*
|
|
|
|
|
* Zero indica que o numero de ramais ser<EFBFBD> ilimitado.
|
|
|
|
|
*/
|
|
|
|
|
if ((int) $prmMaxRamal === 0) {
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
$sql = "select count(*) from pbx_ramais";
|
|
|
|
|
$result1 = @pg_query($sql);
|
|
|
|
|
$dados = pg_fetch_row($result1);
|
|
|
|
|
return $prmMaxRamal >= $dados[0];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
?>
|