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.
131 lines
4.2 KiB
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); |
|
?>
|
|
|