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 = ""; $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 .= ""; } return $item; } function GetBkpAgendamento($db, $frq_id, $id) { if (!$id) { $sel = "selected"; } $item = ""; $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 .= ""; } return $item; } function GetBkpTipo($db, $id) { if (!$id) { $sel = "selected"; } $item = ""; $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 .= ""; } return $item; } function GetBkpDestino($db, $id, $tp) { if (!$id) { $sel = "selected"; } $item = ""; $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 .= ""; } return $item; } ?>