<% '-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# ' Loja Exemplo Locaweb ' Versão: 6.4 ' Data: 12/09/06 ' Arquivo: carrinho.asp ' Versão do arquivo: 0.0 ' Data da ultima atualização: 11/03/08 ' '----------------------------------------------------------------------------- ' Licença Código Livre: http://comercio.Locaweb.com.br/gpl/gpl.txt '-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# page="carrinho" rodape = "no" If (Request("mode") = "changeItem") And (Request("cep_frete") <> "") Or (Request("mode") = "changeMeioPagto") Then 'Recria a sessão de autenticação session("logado") = "yes" ' Verifica se é uma nova tentativa de pagto de um pedido If Request("mode") = "changeMeioPagto" Then session("novoPedido") = "yes" ' Resgata o subtotal e o valor do frete do pedido e faz a soma. currSubTotalPedido = pegaValorAtrib(Application("DiretorioPedidos")&session("id_transacao")&".xml","dados_pedido","valor_subtotal") currFretePedido = pegaValorAtrib(Application("DiretorioPedidos")&session("id_transacao")&".xml","dados_pedido","valor_frete") currSomaValorSubtotal = FormatNumber(cdbl(currSubTotalPedido) + cdbl(currFretePedido)) ' Zera o tipo e taxa adicional aplicada sTipotaxa = "" nValortaxa = 0 ' Atualiza os dados no XML do pedido If currSomaValorSubtotal <> "" Then Call alteraValorAtrib(Application("DiretorioPedidos")&session("id_transacao")&".xml","dados_pedido","valor_total",currSomaValorSubtotal) End If Call alteraValorAtrib(Application("DiretorioPedidos")&session("id_transacao")&".xml","dados_pedido","tipo_taxa_adicional",sTipotaxa) Call alteraValorAtrib(Application("DiretorioPedidos")&session("id_transacao")&".xml","dados_pedido","taxa_adicional",nValortaxa) End If End If %>
<% Response.Buffer = true permissao="write" strMode = Request("mode") If strMode = "comprar" Then If Instr(request("codigo_produto"),"_") <> 0 Then codigo_produto_puro = mid(request("codigo_produto"), 1, Instr(request("codigo_produto"),"_")-1) Else codigo_produto_puro = request("codigo_produto") End If temEstoque = Pega_DadoBanco("Produtos","quantidade_produto","codigo_produto",codigo_produto_puro) If temEstoque <= 0 Then Response.redirect "produtos_descricao.asp?codigo_produto="&codigo_produto_puro&"&temEstoque=no" Response.End End if End If If request("codigo_cor") <> "" Then codigo_cor = "_c" & request("codigo_cor") Else codigo_cor = "_c" & "0" End If If request("codigo_cor") <> "" Then codigo_cor = request("codigo_cor") Else codigo_cor = "0" End If If request("codigo_tamanho") <> "" Then codigo_tamanho = request("codigo_tamanho") Else codigo_tamanho = "0" End If codigo_corTemp = "_c" & codigo_cor codigo_tamanhoTemp = "_t" & codigo_tamanho AdicionalCods = codigo_corTemp & codigo_tamanhoTemp codigo_produto = Trim(request("codigo_produto") & AdicionalCods) If session("id_transacao") = "" Then session("id_transacao") = Gerar_id_transacao(session.sessionID) End if If strMode = "delete" or strMode = "updateItem" Then Select Case strMode Case "updateItem" If VerificaExistenciaArquivo(Application("DiretorioPedidos")&session("id_transacao")&".xml") Then altera_xmlpedidos session("id_transacao") Else Response.redirect "carrinho_vazio.asp" Response.End End If Case "delete" If VerificaExistenciaArquivo(Application("DiretorioPedidos")&session("id_transacao")&".xml") Then deleteItem_xmlpedidos session("id_transacao"), request("codigo_produto"),"atualiza_quantidades" If pegaValorAtrib(Application("XMLArquivoConfiguracao"),"dados/configuracao_dados","Estoque") = "sim" Then Call Atualiza_Estoque(request("codigo_produto"),"delete",request("quantidade_produto"),"0") End if End If End Select Response.redirect "carrinho.asp" Response.End ElseIf strMode = "comprar" Then Set RS_Produto = CreateObject("ADODB.Recordset") Set RS_Produto.ActiveConnection = Conexao RS_Produto.CursorLocation = 3 RS_Produto.CursorType = 0 RS_Produto.LockType = 3 RS_Produto.Open "SELECT codigo_produto, codigo_categoria, nome_produto, quantidade_produto, preco_unitario, desconto, peso, data_inicio, data_fim FROM Produtos WHERE codigo_produto=" & request("codigo_produto") & " AND sigla_idioma= '" & varLang & "'", Conexao Set RS_Cambios = CreateObject("ADODB.Recordset") Set RS_Cambios.ActiveConnection = Conexao RS_Cambios.CursorLocation = 3 RS_Cambios.CursorType = 0 RS_Cambios.LockType = 1 RS_Cambios.Open "SELECT valor_moeda, simbolo_moeda FROM IdiomaseCambios WHERE sigla_idioma='"&varLang&"'", Conexao VarValor_Cambio = RS_Cambios("valor_moeda") VarSimbolo_Moeda = RS_Cambios("simbolo_moeda") Session("Valor_Cambio") = VarValor_Cambio RS_Cambios.Close Set RS_Cambios = Nothing 'Calcula o valor bruto do produto conforma cambio selecionado valor_produto = FormatNumber(RS_Produto("preco_unitario")/(VarValor_Cambio),2) 'Verifica se existe alguma promoção de desconto para o produto e calcula o valor final. If pegavalor_promocao(valor_produto,RS_Produto) < FormatCurrency(valor_produto) Then valor_produto = pegavalor_promocao(valor_produto,RS_Produto) End If 'Se não existir registro e valor promocional o produto assume o valor cadastrado. If valor_produto = "" Then valor_produto = FormatNumber(RS_Produto("preco_unitario")/(VarValor_Cambio),2) End If VarPreco_unitario = valor_produto*(VarValor_Cambio) VarCodigo_produto=RS_Produto("codigo_produto") & AdicionalCods VarCodigo_categoria = RS_Produto("codigo_categoria") VarNome_produto = RS_Produto("nome_produto") VarQuantidade_produto = "1" VarDesconto = RS_Produto("desconto") VarPeso = RS_Produto("peso") VarCor = codigo_cor VarTamanho = codigo_tamanho Call Cria_pedidoTemp(session("id_transacao"),VarCodigo_produto,VarCodigo_categoria,VarNome_produto,VarQuantidade_produto,VarPreco_unitario,VarDesconto,VarPeso,VarCor,VarTamanho,varLang,VarSimbolo_Moeda,VarValor_Cambio) If pegaValorAtrib(Application("XMLArquivoConfiguracao"),"dados/configuracao_dados","Estoque") = "sim" Then Call Atualiza_Estoque(VarCodigo_produto,"novo",VarQuantidade_produto,vazio) End If RS_Produto.close Set RS_Produto = Nothing Response.redirect "carrinho.asp" Response.End End If If CDbl(Application("DiasCookie")) <> CDbl("0") Then 'Grava o id_transacao deste pedido em um cookie. response.cookies(Application("nomeConfiguracao"))("data") = now response.cookies(Application("nomeConfiguracao"))("id_transacao") = session("id_transacao") response.cookies(Application("nomeConfiguracao")).expires = now + Application("DiasCookie") Else response.cookies(Application("nomeConfiguracao")).expires = Now - 5 End If ' Caso esta página seja chamada diretamente sem item de de compra ou o arquivo XML do pedido não for localizado ' haverá um redirecionamento para página de carrinho vázio. If Not VerificaExistenciaArquivo(Application("DiretorioPedidos")&session("id_transacao")&".xml") Then Response.redirect ("carrinho_vazio.asp") Response.End End If %> <% 'Monta uma pre-visulizacao da forma de pagamento, caso exista para a mesma If application("CalculoFrete") = "sim" Then Call Mostra_frete() Else Session("frete_gratuito") = "ativo" End if If Session("valor_frete") > FormatNumber("0") Or Session("frete_gratuito") = "ativo" Then %> <% End if If (Request("mode") = "changeItem") Or (Request("mode") = "updateItem") Then If (Request("meio_pgto") <> "") Then %> <% ElseIf (Session("forma_pagamento") <> "") Then %> <% End If End If %>
<% If Session("msgErroFrete") <> "" Then %> <% Session("msgErroFrete") = empty End If If (Request("mode") = "changeItem") And (Request("cep_frete") <> "") Then %> <% End If %>