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.
 
 
 
 
 
 

131 lines
4.2 KiB

<?php
/*
* Arquivo de template para o formulário.
*/
$nomeTpl = '';
/*
* Layout para formulario.
*/
$tpLayout = 1;
$dataAtu = date('d/m/Y');
$erro = 0;
$msg = 'Novo Registro';
$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 = "\"Cadastro\"";
/*
* Titulo para o formulario.
*/
$tituloFormulario = "Cadstro";
/*
* Nome da tabela onde sera feito o insert, so deve ser informado se hover um campo autoinc.
*/
$tableName = '';
/*
* 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 = '';
$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();
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()) {
$dst_id = $fields[$nomeRegId];
if (!$fields["dst_nome"])
throw new Exception("O \"Nome\" é um campo obrigatório!");
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 nomeTabela
( campo1,campo2,campoN)
values ( {campo1},{campo2},{campoN})";
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 o $nomeProg na base de dados!" . $query);
$msg = "$nomeProg inserido com sucesso!";
if ($tableName)
$fields[$nomeRegId] = GetCurrVal($tableName);
}
else {
/*
* Expressão regular:
* localizar ->[^,].[^_]*_.[^,]*
* Substrituir -> \0={\0}
*/
$query = "update pbx_backup_destino
set campo1 = {campo1},
campo2 = {campo2},
campoN = {campoN},
where regId = {regId} ";
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 o $nomeProg na base de dados!");
$msg = "$nomeProg atualizado com sucesso!";
}
$jsStartup[] = "window.opener.ResetForm();";
}
else if ($fields["acaoUser"] == FORM_UPDATE) {
$query = "select campo1, campo2, campoN 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 do $nomeProg editado com sucesso!";
}
} catch (Exception $ex) {
$erro++;
$msg = $ex->getMessage();
}
foreach ($fields as $key => $value)
$smarty->assign($key, $value);
$smarty->assign("tituloFormulario", $tituloFormulario);
$smarty->assign("nomeRegId", $nomeRegId);
$smarty->assign("regId", $regId);
$smarty->assign("msg", $msg);
$smarty->assign("erro", $erro);
GetTemplate($smarty, $nomeTpl);
?>