setAction($BASE_URL);
$listagem = new Listagem("listResultado","Listagens",$conn);
$listagem->setUrlBasePath($GLOBALS['phpgw_info']['server']['webserver_url'] . "/workflow/inc/report");
$acao = $_POST['FrmCadListagem_acao'];
if ($acao == "") { $acao = $_GET['acao']; }
if ($acao == "") { $acao = $_POST['acao']; }
$lstoid = $_POST['lstoid'];
if ($lstoid == "") { $lstoid = $_GET['lstoid']; }
if ($acao == "alterarStatus") {
$lstidlistagem = $_POST['lstidlistagem'];
$novostatus = $_POST['novostatus'];
$ret = atualizaStatus(array("$lstidlistagem"),$novostatus);
$msg = "Status Alterado com Sucesso!";
$acao = "editar";
}
if (($acao == "editar") || ($form->isSubmit("atualizar_listagem",true))) {
$lstidlistagem = $_POST['lstidlistagem'];
$lstversao = $_POST['lstversao'];
$lstnome = $_POST['lstnome'];
$lsttitulo = $_POST['lsttitulo'];
$lstsql = $_POST['lstsql'];
$lstmsg_totalizador = $_POST['lstmsg_totalizador'];
$lstmsg_subtotalizador = $_POST['lstmsg_subtotalizador'];
$lstmsg_registrosencontrados = $_POST['lstmsg_registrosencontrados'];
$lstmsg_nenhumresultado = $_POST['lstmsg_nenhumresultado'];
$lstdescricao = $_POST['lstdescricao'];
$lstagrupamento_campo = $_POST['lstagrupamento_campo'];
$lstagrupamento_titulo = $_POST['lstagrupamento_titulo'];
$lstexclusao = $_POST['lstexclusao'];
if ($lstmsg_totalizador == "") { $lstmsg_totalizador = "TOTAL:"; }
if ($lstmsg_subtotalizador == "") { $lstmsg_subtotalizador = "SUB-TOTAL:"; }
if ($lstmsg_registrosencontrados == "") { $lstmsg_registrosencontrados = "registro(s) encontrado(s)."; }
if ($lstmsg_nenhumresultado == "") { $lstmsg_nenhumresultado = "Nenhum resultado encontrado."; }
if ($lsttitulo == "") { $lsttitulo = "Resultado da Pesquisa."; }
if ($lstoid == "") {
$lstexibe_resultados = true;
$lstexibe_header = true;
$lstexibe_totalizadores = true;
$lstexibe_subtotais = true;
$lstexibe_qtdregistros = true;
$lstexibe_legendatopo = true;
$lstexibe_titagrupamento = true;
$lstexibe_agrupamento_alfabetico = false;
$lstexclusao = true;
}
$arrOpcVisualizacao[] = array('lstexibe_resultados', ' Exibir resultados na tela.', $lstexibe_resultados);
$arrOpcVisualizacao[] = array('lstexibe_header', ' Exibir titulos das colunas', $lstexibe_header);
$arrOpcVisualizacao[] = array('lstexibe_totalizadores', ' Exibir totalizadores', $lstexibe_totalizadores);
$arrOpcVisualizacao[] = array('lstexibe_subtotais', ' Exibir sub-totalizadores', $lstexibe_subtotais);
$arrOpcVisualizacao[] = array('lstexibe_qtdregistros', ' Exibir Quantidade de registros encontrados', $lstexibe_qtdregistros);
$arrOpcVisualizacao[] = array('lstexibe_checkbox', ' Exibir colunas com checkbox.', $lstexibe_checkbox);
$arrOpcVisualizacao[] = array('lstexibe_csv', ' Gerar CSV', $lstexibe_csv);
$arrOpcVisualizacao[] = array('lstexibe_legendatopo', ' Exibir legenda no topo', $lstexibe_legendatopo);
$arrOpcVisualizacao[] = array('lstexibe_legendarodape', ' Exibir legenda no rodape', $lstexibe_legendarodape);
$arrOpcVisualizacao[] = array('lstexibe_titagrupamento', ' Re-exibir titulos de agrupamento', $lstexibe_titagrupamento);
$arrOpcVisualizacao[] = array('lstexibe_agrupamento_alfabetico', ' Exibir agrupamento alfabetico', $lstexibe_agrupamento_alfabetico);
$arrOpcVisualizacao[] = array('lstexclusao', ' Ativa', $lstexclusao);
foreach ($arrOpcVisualizacao as $opc) {
$$opc[0] = "false";
}
$opcvisualizacao = $_POST['opcvisualizacao'];
if (is_array($opcvisualizacao)) {
foreach ($opcvisualizacao as $opc) {
$$opc = "true";
}
}
if ($lstexclusao == "false") {
$flstexclusao = "now()";
}
if ($lstexclusao == "true") {
$flstexclusao = "null";
}
if (($acao == "editar") && ($lstoid != "")) {
$sql = "select
lstoid,
lstversao,
lstidlistagem,
lstdescricao,
lstnome,
lsttitulo,
lstsql,
lstexibe_header,
lstexibe_totalizadores,
lstexibe_subtotais,
lstexibe_qtdregistros,
lstexibe_checkbox,
lstexibe_csv,
lstexibe_legendatopo,
lstexibe_legendarodape,
lstexibe_titagrupamento,
lstexibe_agrupamento_alfabetico,
lstagrupamento_campo,
lstagrupamento_titulo,
lstmsg_totalizador,
lstmsg_subtotalizador,
lstmsg_registrosencontrados,
lstmsg_nenhumresultado,
lstexclusao,
lstexibe_resultados
from
listagem.listagem
where
lstoid = $lstoid";
$res = pg_query($sql);
$linha = pg_fetch_object($res);
$lstidlistagem = "";
foreach ($linha as $chave => $valor) {
if ($valor == "f") {
$valor = false;
}
if ($valor == "t") {
$valor = true;
}
// $$chave= str_replace("[-]","'",$valor);;
$$chave= html_entity_decode($valor, ENT_QUOTES);
}
if ($lstexclusao == "") {
$f_lstexclusao = true;
} else {
$f_lstexclusao = false;
}
//$lstsql = str_replace("[-]","'",$lstsql);
unset ($arrOpcVisualizacao);
$arrOpcVisualizacao[] = array('lstexibe_resultados', ' Exibir resultados na tela.', $lstexibe_resultados);
$arrOpcVisualizacao[] = array('lstexibe_header', ' Exibir titulos das colunas', $lstexibe_header);
$arrOpcVisualizacao[] = array('lstexibe_totalizadores', ' Exibir totalizadores', $lstexibe_totalizadores);
$arrOpcVisualizacao[] = array('lstexibe_subtotais', ' Exibir sub-totalizadores', $lstexibe_subtotais);
$arrOpcVisualizacao[] = array('lstexibe_qtdregistros', ' Exibir Quantidade de registros encontrados', $lstexibe_qtdregistros);
$arrOpcVisualizacao[] = array('lstexibe_checkbox', ' Exibir colunas com checkbox.', $lstexibe_checkbox);
$arrOpcVisualizacao[] = array('lstexibe_csv', ' Gerar CSV', $lstexibe_csv);
$arrOpcVisualizacao[] = array('lstexibe_legendatopo', ' Exibir legenda no topo', $lstexibe_legendatopo);
$arrOpcVisualizacao[] = array('lstexibe_legendarodape', ' Exibir legenda no rodape', $lstexibe_legendarodape);
$arrOpcVisualizacao[] = array('lstexibe_titagrupamento', ' Re-exibir titulos de agrupamento', $lstexibe_titagrupamento);
$arrOpcVisualizacao[] = array('lstexibe_agrupamento_alfabetico', ' Exibir agrupamento alfabetico', $lstexibe_agrupamento_alfabetico);
$arrOpcVisualizacao[] = array('lstexclusao', ' Ativa', $f_lstexclusao);
$lstexclusao = $linha->lstexclusao;
}
if ($acao == "atualizar_listagem") {
if ($lstoid != "") {
$sql = "select
lstidlistagem
from
listagem.listagem
where
lstoid = $lstoid";
$res = pg_query($sql);
$linha = pg_fetch_object($res);
$lstidlistagem = $linha->lstidlistagem;
}
//$lstsql = str_replace("\\'","[-]",$lstsql);
//$lstsql = str_replace("'","[-]",$lstsql);
$lstdescricao = htmlspecialchars($lstdescricao,ENT_QUOTES);
$lstnome = htmlspecialchars($lstnome,ENT_QUOTES);
$lstsql = htmlspecialchars($lstsql,ENT_QUOTES);
try {
pg_query($conn,"BEGIN;");
if ($lstoid == "") {
$sql = "INSERT INTO listagem.listagem ( lstidlistagem,
lstnome,
lsttitulo,
lstsql,
lstexibe_header,
lstexibe_totalizadores,
lstexibe_qtdregistros,
lstexibe_subtotais,
lstexibe_checkbox,
lstexibe_csv,
lstexibe_legendatopo,
lstexibe_legendarodape,
lstexibe_titagrupamento,
lstmsg_totalizador,
lstmsg_subtotalizador,
lstmsg_registrosencontrados,
lstmsg_nenhumresultado,
lstversao,
lstagrupamento_campo,
lstagrupamento_titulo,
lstdescricao,
lstexibe_agrupamento_alfabetico,
lstexibe_resultados,
lstexclusao
)
VALUES
( '$lstidlistagem',
'$lstnome',
'$lsttitulo',
'$lstsql',
$lstexibe_header,
$lstexibe_totalizadores,
$lstexibe_qtdregistros,
$lstexibe_subtotais,
$lstexibe_checkbox,
$lstexibe_csv,
$lstexibe_legendatopo,
$lstexibe_legendarodape,
$lstexibe_titagrupamento,
'$lstmsg_totalizador',
'$lstmsg_subtotalizador',
'$lstmsg_registrosencontrados',
'$lstmsg_nenhumresultado',
1,
'$lstagrupamento_campo',
'$lstagrupamento_titulo',
'$lstdescricao',
$lstexibe_agrupamento_alfabetico,
$lstexibe_resultados,
$flstexclusao
)";
// echo $sql;
$result = pg_query($conn,$sql);
if (!$result) { throw new Exception("ERRO: Inserindo listagem."); }
$sql = "SELECT max(lstoid) as lstoid from listagem.listagem ";
$result = pg_query($conn,$sql);
$dados = pg_fetch_array($result);
$lstoid = $dados['lstoid'];
echo "";
$acao = "editar";
$msg = "Registro Inserido com Sucesso!";
} else {
$sql = "UPDATE listagem.listagem SET
lstnome = '$lstnome',
lsttitulo = '$lsttitulo',
lstsql = '$lstsql',
lstexibe_header = $lstexibe_header,
lstexibe_totalizadores = $lstexibe_totalizadores,
lstexibe_qtdregistros = $lstexibe_qtdregistros,
lstexibe_subtotais = $lstexibe_subtotais,
lstexibe_checkbox = $lstexibe_checkbox,
lstexibe_csv = $lstexibe_csv,
lstexibe_legendatopo = $lstexibe_legendatopo,
lstexibe_legendarodape = $lstexibe_legendarodape,
lstexibe_titagrupamento = $lstexibe_titagrupamento,
lstexibe_agrupamento_alfabetico = $lstexibe_agrupamento_alfabetico,
lstmsg_totalizador = '$lstmsg_totalizador',
lstmsg_subtotalizador = '$lstmsg_subtotalizador',
lstmsg_registrosencontrados = '$lstmsg_registrosencontrados',
lstmsg_nenhumresultado = '$lstmsg_nenhumresultado',
lstversao = lstversao + 1,
lstagrupamento_campo = '$lstagrupamento_campo',
lstagrupamento_titulo = '$lstagrupamento_titulo',
lstdescricao = '$lstdescricao',
lstexibe_resultados = $lstexibe_resultados,
lstexclusao = $flstexclusao
WHERE lstoid = $lstoid";
$result = pg_query($conn,$sql);
if (!$result) { throw new Exception("ERRO: Inserindo listagem."); }
$msg = "Registro Atualizado com Sucesso!";
}
pg_query($conn,"COMMIT;");
} catch (exception $e) {
$msg = $e->getMessage();
pg_query($conn,"ROLLBACK;");
}
}
$lstsql = html_entity_decode($lstsql, ENT_QUOTES);
$lstnome = html_entity_decode($lstnome, ENT_QUOTES);
$lstdescricao = html_entity_decode($lstdescricao, ENT_QUOTES);
$form->adicionarHidden("lstoid",$lstoid);
$form->adicionarHidden("abaMenu",$abaMenu);
$form->adicionarHidden("acao","editar");
$form->adicionarCampo("lstidlistagem","lstidlistagem","ID da Listagem","Identificador da Listagem",$lstidlistagem,true);
$form->adicionarCampo("lstnome","lstnome","Nome:","Nome:",$lstnome,true,"80");
$form->adicionarTextarea("lstdescricao","Descricao:",$lstdescricao,true,"80","8");
$form->adicionarSubtitulo("Consulta");
$form->adicionarTextarea("lstsql","",$lstsql,true,"120","15");
$form->adicionarSubtitulo("Opcoes de Visualizacao");
$form->adicionarCheckBox("opcvisualizacao","",$arrOpcVisualizacao,false);
$form->adicionarSubtitulo("Agrupamento");
$form->adicionarCampo("lstagrupamento_campo","lstagrupamento_campo","Campo de Agrupamento:","Campo de Agrupamento:",$lstagrupamento_campo,false,"","","Campo que sera usado para agrupar os sub-totalizadores (Nao usar {}).");
$form->adicionarCampo("lstagrupamento_titulo","lstagrupamento_titulo","Titulo do Agrupamento:","Titulo do Agrupamento:",$lstagrupamento_titulo,false,"50","300","Ex.: Cliente: {clinome}");
$form->adicionarSubtitulo("Mensagens Personalizadas");
$form->adicionarCampo("lsttitulo","lsttitulo","Titulo:","Titulo:",$lsttitulo,true,"50");
$form->adicionarCampo("lstmsg_totalizador","lstmsg_totalizador","Mensagem Totalizador:","Mensagem Totalizador:",$lstmsg_totalizador,true);
$form->adicionarCampo("lstmsg_subtotalizador","lstmsg_subtotalizador","Mensagem Sub-Totalizador:","Mensagem Sub-Totalizador:",$lstmsg_subtotalizador,true);
$form->adicionarCampo("lstmsg_registrosencontrados","lstmsg_registrosencontrados","Mensagem Registros Encontrados:","Mensagem Registros Encontrados:",$lstmsg_registrosencontrados,true);
$form->adicionarCampo("lstmsg_nenhumresultado","lstmsg_nenhumresultado","Mensagem Nenhum Resultado:","Mensagem Nenhum Resultado:",$lstmsg_nenhumresultado,true);
$form->agruparCampos("lstmsg_totalizador,lstmsg_subtotalizador;lstmsg_registrosencontrados,lstmsg_nenhumresultado");
if ($lstexclusao) {
$novostatus = "1";
$titulo = "Ativar";
} else {
$novostatus = "0";
$titulo = "Inativar";
}
$form->adicionarHidden("novostatus",$novostatus);
$form->adicionarQuadro("quadro1","Cadastro de Listagem");
$form->adicionarSubmit("quadro1","btn_cadastrar","Atualizar","atualizar_listagem");
/*if ($lstoid != "") {
$form->adicionarSubmit("quadro1","btn_status",$titulo,"alterarStatus");
}*/
}
if ($msg != "") {
echo "";
}
$form->desenhar();
if ($lstoid) {
echo "";
}
?>