|
|
|
|
<?php
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Arquivo de template para o formul<EFBFBD>rio.
|
|
|
|
|
*/
|
|
|
|
|
$nomeTpl = "cadastros/backup/bkpConfigCad.htm";
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Layout para formulario.
|
|
|
|
|
*/
|
|
|
|
|
$tpLayout = 1;
|
|
|
|
|
$dataAtu = date('d/m/Y');
|
|
|
|
|
$erro = 0;
|
|
|
|
|
$msg = 'Nova Configura<EFBFBD><EFBFBD>o para "Backup"!';
|
|
|
|
|
$login = GetLogin();
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Indique o nome do sistema, este nome ser<EFBFBD> usado para compor mensagens ao usu<EFBFBD>rios.ex:
|
|
|
|
|
* $nomeProg = "Cliente";
|
|
|
|
|
* $msg = "N<EFBFBD>o foi poss<EFBFBD>vel excuir o $nomeProg selecionado!";
|
|
|
|
|
*/
|
|
|
|
|
$nomeProg = "\"Configura<EFBFBD><EFBFBD>o\"";
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Titulo para o formulario.
|
|
|
|
|
*/
|
|
|
|
|
$tituloFormulario = "Backup/Configura<EFBFBD><EFBFBD>es";
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Nome da tabela onde sera feito o insert, so deve ser informado se hover um campo autoinc.
|
|
|
|
|
*/
|
|
|
|
|
$tableName = 'pbx_backup_configuracao';
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Indique o nome do campo que representa a chave primaria na tabela ou outro uniquekey que possa
|
|
|
|
|
* ser usado para editar um excluir um registro.
|
|
|
|
|
*/
|
|
|
|
|
$nomeRegId = 'cfg_id';
|
|
|
|
|
|
|
|
|
|
$regId = $_FORMS[$nomeRegId];
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Representa os campos da tabela e variaves de formulario.
|
|
|
|
|
* ex.: $fields = array("dst_id" => 0, "prt_id" => "1", "dst_nome" => "");
|
|
|
|
|
*/
|
|
|
|
|
$fields = array("cfg_id" => "0", "cfg_descricao" => "", "dst_id" => "-1", "cfg_destino_desc" => "",
|
|
|
|
|
"tp_id" => "0", "frq_id" => "0", "qt_id" => "0", "cfg_deleta_antigo" => "3", "cfg_email" => "",
|
|
|
|
|
"cfg_status" => "1", "user_reg" => "$login", "acaoUser" => "0");
|
|
|
|
|
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);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (IsPostBack() and isset($_POST['btGravar'])) {
|
|
|
|
|
$dst_id = $fields[$nomeRegId];
|
|
|
|
|
$desc = trim($fields["cfg_descricao"]);
|
|
|
|
|
$query = "select count(*) from pbx_backup_configuracao where cfg_descricao = '$desc' and cfg_id <> '$regId'";
|
|
|
|
|
if (!$fields["cfg_descricao"])
|
|
|
|
|
throw new Exception("O \"Nome\" <EFBFBD> um campo obrigat<EFBFBD>rio!");
|
|
|
|
|
if ($fields["dst_id"] == -1)
|
|
|
|
|
throw new Exception("\"Destino\" <EFBFBD> um campo obrigat<EFBFBD>rio!");
|
|
|
|
|
if (!$fields["tp_id"])
|
|
|
|
|
throw new Exception("\"Tipo\" <EFBFBD> um campo obrigat<EFBFBD>rio!");
|
|
|
|
|
if (!$fields["frq_id"])
|
|
|
|
|
throw new Exception("\"Frequ<EFBFBD>ncia\" <EFBFBD> um campo obrigat<EFBFBD>rio!");
|
|
|
|
|
if (!$fields["qt_id"])
|
|
|
|
|
throw new Exception("\"Agendamento\" <EFBFBD> um campo obrigat<EFBFBD>rio!");
|
|
|
|
|
if (!soNumero($fields["cfg_deleta_antigo"]))
|
|
|
|
|
throw new Exception("O \"Parametro para Exclus<EFBFBD>o\" <EFBFBD> um campo obrigat<EFBFBD>rio!");
|
|
|
|
|
if (RegistroInc($dbcon, $query))
|
|
|
|
|
throw new Exception("O Nome \"$desc\" j<EFBFBD> esta cadastrado!");
|
|
|
|
|
|
|
|
|
|
if (($fields["acaoUser"] == FORM_INSERT) && (!$dst_id)) {
|
|
|
|
|
/*
|
|
|
|
|
* Componha a query para insert com base no modelo abaixo. Lembrando
|
|
|
|
|
* que as variavesi passadas por post dever estar de acordo com os
|
|
|
|
|
* nomes de campos da tabela corrspondente.
|
|
|
|
|
*/
|
|
|
|
|
$query = "insert
|
|
|
|
|
into pbx_backup_configuracao
|
|
|
|
|
(cfg_descricao, dst_id, cfg_destino_desc, tp_id, frq_id, qt_id, cfg_deleta_antigo, cfg_email, cfg_status, data_reg, user_reg)
|
|
|
|
|
values ({cfg_descricao}, {dst_id}, {cfg_destino_desc}, {tp_id}, {frq_id}, {qt_id}, {cfg_deleta_antigo}, {cfg_email}, {cfg_status}, now(), {user_reg})";
|
|
|
|
|
|
|
|
|
|
foreach ($fields as $key => $value)
|
|
|
|
|
$query = str_replace("{" . $key . "}", QuotedStr($value), $query);
|
|
|
|
|
|
|
|
|
|
$result = pg_query($dbcon, $query);
|
|
|
|
|
$er = pg_errormessage($dbcon);
|
|
|
|
|
if (!$result)
|
|
|
|
|
throw new Exception("N<EFBFBD>o foi poss<EFBFBD>vel iserir a $nomeProg na base de dados!");
|
|
|
|
|
$msg = "$nomeProg inserido com sucesso!";
|
|
|
|
|
if ($tableName)
|
|
|
|
|
$fields[$nomeRegId] = GetCurrVal($tableName);
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
$query = "update pbx_backup_configuracao
|
|
|
|
|
set cfg_descricao={cfg_descricao},
|
|
|
|
|
dst_id={dst_id},
|
|
|
|
|
cfg_destino_desc={cfg_destino_desc},
|
|
|
|
|
tp_id={tp_id},
|
|
|
|
|
frq_id={frq_id},
|
|
|
|
|
qt_id={qt_id},
|
|
|
|
|
cfg_deleta_antigo={cfg_deleta_antigo},
|
|
|
|
|
cfg_email={cfg_email},
|
|
|
|
|
cfg_status={cfg_status}
|
|
|
|
|
where cfg_id={cfg_id}";
|
|
|
|
|
foreach ($fields as $key => $value)
|
|
|
|
|
$query = str_replace("{" . $key . "}", QuotedStr($value), $query);
|
|
|
|
|
|
|
|
|
|
$result = pg_query($dbcon, $query);
|
|
|
|
|
|
|
|
|
|
if (!$result)
|
|
|
|
|
throw new Exception("N<EFBFBD>o foi atualizar atualizar o $nomeProg na base de dados!");
|
|
|
|
|
$msg = "$nomeProg atualizado com sucesso!";
|
|
|
|
|
}
|
|
|
|
|
$jsStartup[] = "window.opener.ResetForm();";
|
|
|
|
|
}
|
|
|
|
|
else if (!IsPostBack() && ($fields["acaoUser"] == FORM_UPDATE)) {
|
|
|
|
|
$query = "select cfg_id,cfg_descricao,dst_id,cfg_destino_desc,tp_id,frq_id,qt_id,cfg_deleta_antigo,cfg_email,cfg_status from pbx_backup_configuracao where $nomeRegId = $regId order by 2";
|
|
|
|
|
$result = pg_query($dbcon, $query);
|
|
|
|
|
if (!$result)
|
|
|
|
|
throw new Exception("N<EFBFBD>o foi poss<EFBFBD>vel consutar o $nomeProg na base de dados!");
|
|
|
|
|
if (!pg_num_rows($result))
|
|
|
|
|
throw new Exception("$nomeProg n<EFBFBD>o localizado na base de dados!");
|
|
|
|
|
|
|
|
|
|
$row = pg_fetch_array($result);
|
|
|
|
|
foreach ($row as $key => $value)
|
|
|
|
|
$fields[$key] = $value;
|
|
|
|
|
$msg = "Cadastro de $nomeProg alterado com sucesso!";
|
|
|
|
|
$jsStartup[] = "window.opener.ResetForm();";
|
|
|
|
|
}
|
|
|
|
|
} catch (Exception $ex) {
|
|
|
|
|
$erro++;
|
|
|
|
|
$msg = $ex->getMessage();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$lita_frquencias = GetBkpFrequencia($dbcon, $fields["frq_id"], $fields["tp_id"]);
|
|
|
|
|
$lita_agendamentos = GetBkpAgendamento($dbcon, $fields["frq_id"], $fields["qt_id"]);
|
|
|
|
|
$lita_tipos = GetBkpTipo($dbcon, $fields["tp_id"]);
|
|
|
|
|
$lista_destinos = GetBkpDestino($dbcon, $fields["dst_id"], $fields["tp_id"]);
|
|
|
|
|
|
|
|
|
|
if (!$fields["frq_id"])
|
|
|
|
|
$msgBkp = "(Tempo ou quantidade de arquivos devem ser mantidos no servidor!)";
|
|
|
|
|
else if ($fields["frq_id"] == 1)
|
|
|
|
|
$msgBkp = "(Indique o tempo em dias que deseja manter arquivos antigos!)";
|
|
|
|
|
else if ($fields["frq_id"] == 2)
|
|
|
|
|
$msgBkp = "(Indique o n<EFBFBD>mero de arquivos antigos que deseja manter no servidor!)";
|
|
|
|
|
|
|
|
|
|
foreach ($fields as $key => $value)
|
|
|
|
|
$smarty->assign($key, $value);
|
|
|
|
|
$smarty->assign("tituloFormulario", $tituloFormulario);
|
|
|
|
|
$smarty->assign("nomeRegId", $nomeRegId);
|
|
|
|
|
$smarty->assign("regId", $regId);
|
|
|
|
|
$smarty->assign("lita_frquencias", $lita_frquencias);
|
|
|
|
|
$smarty->assign("lita_agendamentos", $lita_agendamentos);
|
|
|
|
|
$smarty->assign("lita_tipos", $lita_tipos);
|
|
|
|
|
$smarty->assign("lista_destinos", $lista_destinos);
|
|
|
|
|
$smarty->assign("msg", $msg);
|
|
|
|
|
$smarty->assign("erro", $erro);
|
|
|
|
|
$smarty->assign("msgBkp", $msgBkp);
|
|
|
|
|
|
|
|
|
|
GetTemplate($smarty, $nomeTpl);
|
|
|
|
|
|
|
|
|
|
function GetBkpFrequencia($db, $id, $tp_id) {
|
|
|
|
|
$retAudio = $tp_id == 1 ? "where frq_id = '1'" : "";
|
|
|
|
|
if (!$id) {
|
|
|
|
|
$sel = "selected";
|
|
|
|
|
}
|
|
|
|
|
$item = "<option value=\"0\" $sel>------------</option>";
|
|
|
|
|
$query = "select frq_id as id, frq_descricao as desc from pbx_backup_frequencia $retAudio order by 2";
|
|
|
|
|
$result = @pg_query($db, $query);
|
|
|
|
|
|
|
|
|
|
while ($row = pg_fetch_array($result)) {
|
|
|
|
|
$spid = $row["id"];
|
|
|
|
|
$desc = $row["desc"];
|
|
|
|
|
if ($spid == $id)
|
|
|
|
|
$sel = "selected";
|
|
|
|
|
else
|
|
|
|
|
$sel = "";
|
|
|
|
|
$item .= "<option value=\"$spid\" $sel>$desc</option>";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return $item;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function GetBkpAgendamento($db, $frq_id, $id) {
|
|
|
|
|
if (!$id) {
|
|
|
|
|
$sel = "selected";
|
|
|
|
|
}
|
|
|
|
|
$item = "<option value=\"0\" $sel>------------</option>";
|
|
|
|
|
$query = "select qt_id as id, qt_descricao as desc from pbx_backup_frequencia_qtde where frq_id = '$frq_id' order by 1";
|
|
|
|
|
$result = @pg_query($db, $query);
|
|
|
|
|
|
|
|
|
|
while ($row = pg_fetch_array($result)) {
|
|
|
|
|
$spid = $row["id"];
|
|
|
|
|
$desc = $row["desc"];
|
|
|
|
|
if ($spid == $id)
|
|
|
|
|
$sel = "selected";
|
|
|
|
|
else
|
|
|
|
|
$sel = "";
|
|
|
|
|
$item .= "<option value=\"$spid\" $sel>$desc</option>";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return $item;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function GetBkpTipo($db, $id) {
|
|
|
|
|
if (!$id) {
|
|
|
|
|
$sel = "selected";
|
|
|
|
|
}
|
|
|
|
|
$item = "<option value=\"0\" $sel>------------</option>";
|
|
|
|
|
$query = "select tp_id as id, tp_desc as desc from pbx_backup_tipo order by 2";
|
|
|
|
|
$result = @pg_query($db, $query);
|
|
|
|
|
|
|
|
|
|
while ($row = pg_fetch_array($result)) {
|
|
|
|
|
$spid = $row["id"];
|
|
|
|
|
$desc = $row["desc"];
|
|
|
|
|
if ($spid == $id)
|
|
|
|
|
$sel = "selected";
|
|
|
|
|
else
|
|
|
|
|
$sel = "";
|
|
|
|
|
$item .= "<option value=\"$spid\" $sel>$desc</option>";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return $item;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function GetBkpDestino($db, $id, $tp) {
|
|
|
|
|
if (!$id) {
|
|
|
|
|
$sel = "selected";
|
|
|
|
|
}
|
|
|
|
|
$item = "<option value=\"-1\" $sel>------------</option>";
|
|
|
|
|
$compl = $tp == 1 ? " where dst_id <> 0 " : " ";
|
|
|
|
|
$query = "select dst_id as id, dst_nome as desc from pbx_backup_destino $compl order by 2";
|
|
|
|
|
$result = @pg_query($db, $query);
|
|
|
|
|
|
|
|
|
|
while ($row = pg_fetch_array($result)) {
|
|
|
|
|
$spid = $row["id"];
|
|
|
|
|
$desc = $row["desc"];
|
|
|
|
|
if ($spid == $id)
|
|
|
|
|
$sel = "selected";
|
|
|
|
|
else
|
|
|
|
|
$sel = "";
|
|
|
|
|
$item .= "<option value=\"$spid\" $sel>$desc</option>";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return $item;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
?>
|