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); ?>