|
|
|
|
<?php
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Arquivo de template para o formul<EFBFBD>rio.
|
|
|
|
|
*/
|
|
|
|
|
$nomeTpl = 'cadastros/backup/bkpDestinoCad.tpl';
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Layout para formulario.
|
|
|
|
|
*/
|
|
|
|
|
$tpLayout = 1;
|
|
|
|
|
$dataAtu = date('d/m/Y');
|
|
|
|
|
$erro = 0;
|
|
|
|
|
$msg = 'Novo Destino';
|
|
|
|
|
$login = GetLogin();
|
|
|
|
|
$trasaction = 0;
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Representa os campos da tabela "pbx_backup_destino" e valores default.
|
|
|
|
|
*/
|
|
|
|
|
$fields = array("dst_id" => 0, "prt_id" => "1", "dst_nome" => "", "dst_host" => "", "dst_porta" => "0", "dst_user_anonimo" => "2", "dst_user" => "", "dst_senha" => "", "dst_diretorio_remoto" => "", "user_reg" => "$login", "acaoUser" => FORM_INSERT);
|
|
|
|
|
try {
|
|
|
|
|
/*
|
|
|
|
|
* Alimenta os campos do array $field com valores de uma requisi<EFBFBD><EFBFBD>o get ou post.
|
|
|
|
|
*/
|
|
|
|
|
foreach ($_REQUEST as $key => $value) {
|
|
|
|
|
if (array_key_exists($key, $fields)) {
|
|
|
|
|
$fields[$key] = trim($value);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Botao gravar foi pressionado.
|
|
|
|
|
*/
|
|
|
|
|
if (isset($_POST['btGravar'])) {
|
|
|
|
|
/*
|
|
|
|
|
* Validacao da submissao do formulario.
|
|
|
|
|
*/
|
|
|
|
|
if (!$fields["dst_nome"]) {
|
|
|
|
|
GeraExcept("O \"Nome\" <EFBFBD> um campo obrigat<EFBFBD>rio!");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (($fields["acaoUser"] == FORM_INSERT)) {
|
|
|
|
|
if (RegistroInc($dbcon, sprintf("select count(*) from pbx_backup_destino where upper(dst_nome) = upper(%s)", QuotedStr($fields["dst_nome"])))) {
|
|
|
|
|
GeraExcept(sprintf("O Nome: \"%s\" j<EFBFBD> esta cadastrado!", $fields["dst_nome"]));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Prepara o insert para o banco de dados.
|
|
|
|
|
*/
|
|
|
|
|
$query = "insert
|
|
|
|
|
into pbx_backup_destino
|
|
|
|
|
( prt_id,dst_nome,dst_host,dst_porta,dst_user_anonimo, dst_user,dst_senha, dst_diretorio_remoto, user_reg, data_reg )
|
|
|
|
|
values ( {prt_id},{dst_nome},{dst_host},{dst_porta},{dst_user_anonimo},{dst_user},{dst_senha},{dst_diretorio_remoto},{user_reg}, now() )";
|
|
|
|
|
|
|
|
|
|
foreach ($fields as $key => $value) {
|
|
|
|
|
$query = str_replace("{" . $key . "}", QuotedStr($value), $query);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Inicia uma transacao com o banco de dados.
|
|
|
|
|
*/
|
|
|
|
|
if (!pg_query($dbcon, 'begin')) {
|
|
|
|
|
GeraExcept("N<EFBFBD>o foi poss<EFBFBD>vel iniciar a opera<EFBFBD><EFBFBD>o!");
|
|
|
|
|
}
|
|
|
|
|
$trasaction = 1;
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Executa a query de insert.
|
|
|
|
|
*/
|
|
|
|
|
$result = pg_query($dbcon, $query);
|
|
|
|
|
if (!$result) {
|
|
|
|
|
GeraExcept("N<EFBFBD>o foi poss<EFBFBD>vel iserir o registro na base de dados!");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Finaliza uma transacao com o banco de dados.
|
|
|
|
|
*/
|
|
|
|
|
if (!pg_query($dbcon, 'commit')) {
|
|
|
|
|
GeraExcept("N<EFBFBD>o foi poss<EFBFBD>vel finalizar a opera<EFBFBD><EFBFBD>o!");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Mensagem de operacao realizada.
|
|
|
|
|
*/
|
|
|
|
|
$msg = "Registro inserido com sucesso!";
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Recupera a ultima sequencia para a sessao atual.
|
|
|
|
|
*/
|
|
|
|
|
$fields["dst_id"] = GetSequenciaDb($dbcon, 'pbx_backup_destino_dst_id_seq');
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Altera a acao do registro.
|
|
|
|
|
*/
|
|
|
|
|
$fields["acaoUser"] = FORM_UPDATE;
|
|
|
|
|
} else {
|
|
|
|
|
/*
|
|
|
|
|
* Inicia uma transacao com o banco de dados.
|
|
|
|
|
*/
|
|
|
|
|
if (!pg_query($dbcon, 'begin')) {
|
|
|
|
|
GeraExcept("N<EFBFBD>o foi poss<EFBFBD>vel iniciar a opera<EFBFBD><EFBFBD>o!");
|
|
|
|
|
}
|
|
|
|
|
$trasaction = 1;
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Prepara o update para o banco de dados.
|
|
|
|
|
*/
|
|
|
|
|
$query = "update pbx_backup_destino
|
|
|
|
|
set dst_host = {dst_host},
|
|
|
|
|
dst_porta = {dst_porta},
|
|
|
|
|
dst_user_anonimo = {dst_user_anonimo},
|
|
|
|
|
dst_user = {dst_user},
|
|
|
|
|
dst_senha = {dst_senha},
|
|
|
|
|
dst_diretorio_remoto = {dst_diretorio_remoto}
|
|
|
|
|
where dst_id = {dst_id} ";
|
|
|
|
|
|
|
|
|
|
foreach ($fields as $key => $value) {
|
|
|
|
|
$query = str_replace("{" . $key . "}", QuotedStr($value), $query);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Atualiza o registro.
|
|
|
|
|
*/
|
|
|
|
|
$result = pg_query($dbcon, $query);
|
|
|
|
|
if (!$result) {
|
|
|
|
|
GeraExcept("N<EFBFBD>o foi atualizar o destino na base de dados!");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Finaliza uma transacao com o banco de dados.
|
|
|
|
|
*/
|
|
|
|
|
if (!pg_query($dbcon, 'commit')) {
|
|
|
|
|
GeraExcept("N<EFBFBD>o foi poss<EFBFBD>vel finalizar a opera<EFBFBD><EFBFBD>o!");
|
|
|
|
|
}
|
|
|
|
|
$msg = "Destino atualizado com sucesso!";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Recarrega o formulario de consulta.
|
|
|
|
|
*/
|
|
|
|
|
$jsStartup[] = "window.opener.ResetForm(); window.close();";
|
|
|
|
|
} else if ($fields["acaoUser"] == FORM_UPDATE) {
|
|
|
|
|
/*
|
|
|
|
|
* Carrrega informacoes do registro a partir do bando de dados.
|
|
|
|
|
*/
|
|
|
|
|
$dstId = $fields["dst_id"];
|
|
|
|
|
$query = "select a.dst_id, a.dst_nome, a.dst_host, a.dst_porta,a.dst_user, a.dst_senha, a.dst_diretorio_remoto,
|
|
|
|
|
a.dst_user_anonimo, a.prt_id, b.prt_descricao
|
|
|
|
|
from pbx_backup_destino a, pbx_backup_protocolo b
|
|
|
|
|
where b.prt_id = a.prt_id
|
|
|
|
|
and a.dst_id = $dstId
|
|
|
|
|
order by 2";
|
|
|
|
|
$result = pg_query($dbcon, $query);
|
|
|
|
|
if (!$result || !pg_num_rows($result)) {
|
|
|
|
|
GeraExcept("N<EFBFBD>o foi poss<EFBFBD>vel localizar o registro na base de dados!");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Alimenta o array $fields com os valores recuperados do banco.
|
|
|
|
|
*/
|
|
|
|
|
$row = pg_fetch_array($result);
|
|
|
|
|
foreach ($row as $key => $value) {
|
|
|
|
|
$fields[$key] = $value;
|
|
|
|
|
}
|
|
|
|
|
$msg = "cadastro do destino editado com sucesso!";
|
|
|
|
|
}
|
|
|
|
|
} catch (Exception $ex) {
|
|
|
|
|
$erro++;
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Rollback no banco qdo uma transacao em curso.
|
|
|
|
|
*/
|
|
|
|
|
if ($trasaction) {
|
|
|
|
|
pg_query($dbcon, 'rollback');
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Mensagem para o usuario.
|
|
|
|
|
*/
|
|
|
|
|
$msg = $ex->getMessage();
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Registra o erro para analise posterior no diretorio de log.
|
|
|
|
|
*/
|
|
|
|
|
GravaLogApl(array($msg, sprintf("Cmd: %s", $query), sprintf("Sys: %s", GetLasterror())), 'backup', GetLogin());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Atualiza o formulario com os dados retornados do banco ou da submissao do formulario.
|
|
|
|
|
*/
|
|
|
|
|
foreach ($fields as $key => $value) {
|
|
|
|
|
$smarty->assign($key, $value);
|
|
|
|
|
}
|
|
|
|
|
$smarty->assign("formUpdate", FORM_UPDATE);
|
|
|
|
|
$smarty->assign("acaoUser", $fields["acaoUser"]);
|
|
|
|
|
$smarty->assign("msg", $msg);
|
|
|
|
|
$smarty->assign("erro", $erro);
|
|
|
|
|
GetTemplate($smarty, $nomeTpl);
|
|
|
|
|
?>
|