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.
255 lines
9.4 KiB
255 lines
9.4 KiB
<?php |
|
|
|
/* |
|
* Arquivo de template para o formulário. |
|
*/ |
|
$nomeTpl = "cadastros/backup/bkpConfigCad.htm"; |
|
|
|
/* |
|
* Layout para formulario. |
|
*/ |
|
$tpLayout = 1; |
|
$dataAtu = date('d/m/Y'); |
|
$erro = 0; |
|
$msg = 'Nova Configuração para "Backup"!'; |
|
$login = GetLogin(); |
|
|
|
/* |
|
* Indique o nome do sistema, este nome será usado para compor mensagens ao usuários.ex: |
|
* $nomeProg = "Cliente"; |
|
* $msg = "Não foi possível excuir o $nomeProg selecionado!"; |
|
*/ |
|
$nomeProg = "\"Configuração\""; |
|
|
|
/* |
|
* Titulo para o formulario. |
|
*/ |
|
$tituloFormulario = "Backup/Configuraçõ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çã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\" é um campo obrigatório!"); |
|
if ($fields["dst_id"] == -1) |
|
throw new Exception("\"Destino\" é um campo obrigatório!"); |
|
if (!$fields["tp_id"]) |
|
throw new Exception("\"Tipo\" é um campo obrigatório!"); |
|
if (!$fields["frq_id"]) |
|
throw new Exception("\"Frequência\" é um campo obrigatório!"); |
|
if (!$fields["qt_id"]) |
|
throw new Exception("\"Agendamento\" é um campo obrigatório!"); |
|
if (!soNumero($fields["cfg_deleta_antigo"])) |
|
throw new Exception("O \"Parametro para Exclusão\" é um campo obrigatório!"); |
|
if (RegistroInc($dbcon, $query)) |
|
throw new Exception("O Nome \"$desc\" já 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ão foi possí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ã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ão foi possível consutar o $nomeProg na base de dados!"); |
|
if (!pg_num_rows($result)) |
|
throw new Exception("$nomeProg nã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ú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; |
|
} |
|
|
|
?>
|
|
|