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.
91 lines
3.4 KiB
91 lines
3.4 KiB
<?php |
|
|
|
/* |
|
* Arquivo de template para o formulário. |
|
*/ |
|
$nomeTpl = 'cadastros/portabilidade/clientePortabilidade.htm'; |
|
|
|
/* |
|
* Layout para formulario. |
|
*/ |
|
$tpLayout = 1; |
|
$dataAtu = date('d/m/Y'); |
|
$erro = 0; |
|
$msg = 'Novo Usuário'; |
|
|
|
/* |
|
* Representa a tabela. |
|
*/ |
|
$fields = array("cli_id" => 0, "cli_idexterno" => "", "cli_descricao" => "", "acaoUser" => 1, "clie_status" => 2, "cli_data" => $dataAtu); |
|
try { |
|
$idServer = $_SESSION["SSidServerPortabilidade"]; |
|
/* |
|
* Conexão para o servidor de portabilidade. |
|
*/ |
|
$dbPorta = GetDbFromHost($idServer); |
|
if (!$dbPorta) { |
|
$erro++; |
|
throw new Exception("Erro ao acessar o servidor de portabilidade!"); |
|
} |
|
|
|
/* |
|
* 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()) { |
|
if (!soNumero($fields["cli_idexterno"])) |
|
throw new Exception("\"Id Externo\" é um campo obrigatório, informe apenas números!"); |
|
if (!$fields["cli_descricao"]) |
|
throw new Exception("O \"Nome\" é um campo obrigatório!"); |
|
|
|
if ($fields["acaoUser"] == FORM_INSERT) { |
|
$query = "insert into clientes(cli_idexterno, cli_descricao, clie_status, cli_data)values(%s,%s, 2, now())"; |
|
$query = sprintf($query, QuotedStr($fields["cli_idexterno"]), QuotedStr($fields["cli_descricao"])); |
|
$result = pg_query($dbPorta, $query); |
|
$er = pg_errormessage($dbPorta); |
|
if (!$result) |
|
throw new Exception("Não foi possível iserir o cliente na base de dados!"); |
|
$msg = "Cliente inserido com sucesso!"; |
|
$fields["cli_id"] = GetCliIdPorta($dbPorta, $fields["cli_idexterno"]); |
|
} |
|
else { |
|
$query = "update clientes set cli_idexterno = %s, cli_descricao = %s where cli_id = '%s'"; |
|
$query = sprintf($query, QuotedStr($fields["cli_idexterno"]), QuotedStr($fields["cli_descricao"]), $fields["cli_id"]); |
|
$result = pg_query($dbPorta, $query); |
|
if (!$result) |
|
throw new Exception("Não foi iserir o cliente na base de dados!"); |
|
$msg = "Cliente atualizado com sucesso!"; |
|
} |
|
$jsStartup[] = "window.opener.ResetForm();"; |
|
} |
|
else if ($fields["acaoUser"] == FORM_UPDATE) { |
|
$cliId = $fields["cli_id"]; |
|
$query = "select cli_id, cli_idexterno, cli_descricao, clie_status, cli_data from clientes where cli_id = '$cliId'"; |
|
$result = pg_query($dbPorta, $query); |
|
if (!$result) |
|
throw new Exception("Não foi possível consutar o cliente na base de dados!"); |
|
if (!pg_num_rows($result)) |
|
throw new Exception("Cliente não localizado na base de dados!"); |
|
|
|
$row = pg_fetch_array($result); |
|
foreach ($row as $key => $value) |
|
$fields[$key] = $value; |
|
$fields["cli_data"] = FormataDBDataHora(substr($fields["cli_data"], 0, 10)); |
|
$msg = "cadastro do cliente editado com sucesso!"; |
|
} |
|
} catch (Exception $ex) { |
|
$erro++; |
|
$msg = $ex->getMessage(); |
|
} |
|
|
|
foreach ($fields as $key => $value) |
|
$smarty->assign($key, $value); |
|
$smarty->assign("msg", $msg); |
|
$smarty->assign("erro", $erro); |
|
GetTemplate($smarty, $nomeTpl); |
|
?>
|
|
|