<%@language="VBScript"%> <% Response.Expires = 0 %> <% cas_zacatek = timer %> <% cas1 = timer - cas_zacatek cas_vse = cas_vse & "cas1: " & cas1 & "s" & "; " 'funkce generování náhodného čísla function nahodne_cislo(dolni_hranice,horni_hranice) randomize() intLowerBound = dolni_hranice intUpperBound = horni_hranice intRangeSize = intUpperBound - intLowerBound + 1 sngRandomValue = intRangeSize * Rnd() sngRandomValue = sngRandomValue + intLowerBound nahodne_cislo = Int(sngRandomValue) end function 'vygenerování hesla pismena = "abcdefghijklmnopqrstuvwxyz" cisla = "1234567890" for start = 1 to 5 cislo_nebo_pismeno = nahodne_cislo(1,2) if cislo_nebo_pismeno = "1" then heslo = heslo & mid(pismena,nahodne_cislo(1,26),1) else heslo = heslo & mid(cisla,nahodne_cislo(1,10),1) end if next 'funkce - vyseparování údajů ze session function value(nazev) seznam = request("kosik_obj3_query") pozice1 = instrrev(seznam, nazev) + len(nazev) pozice2 = instr(pozice1,seznam,"&") hodnota = mid(seznam, pozice1, pozice2 - pozice1) value = hodnota end function 'hodnota = "firma2=" : response.write(value(hodnota)) 'response.end 'globalni sessions session_kosik_zasilkovna_adresa = request("kosik_zasilkovna_adresa") session_kosik_balikovna_adresa = request("session_kosik_balikovna_adresa") session_server_nazev = request("server_nazev") session_server_email = request("server_email") session_server = request("server") session_server_id = request("server_id") session_cesta_web = request("cesta_web") 'kontrola formuláře if request("email2") <> "vporadku" then Response.clear response.redirect session_cesta_web & "kosik-obj7.asp" end if 'kontrola košíku if request("kosik") = "" or request("kosik_dodani") = "" then response.clear response.redirect session_cesta_web & "kosik.asp" end if 'uložení údajů o zákazníkovi if not request("zakaznik_id") = "" then id_zakaznik = clng(request("zakaznik_id")) else id_zakaznik = 0 end if hodnota = "email=" : email = value(hodnota) hodnota = "heslo=" : heslo = value(hodnota) hodnota = "novinky=" : if value(hodnota) = "1" then novinky = true else novinky = false end if duplicita_email = false Set rs = CreateObject("ADODB.RecordSet") if request("zakaznik_id") = "" then 'kontrola duplicity e-mailu Set rs2 = CreateObject("ADODB.RecordSet") strSQL = "SELECT id_zakaznik FROM zakaznik WHERE email LIKE '" & sqlinjection2(trim(email)) & "' AND id_shop = " & session_server_id rs2.Open strSQL, conn, 1, 1 if rs2.eof then rs.Open "zakaznik", conn, 2, 3 + AdExecuteNoRecords rs.Addnew rs("datum") = cdate(FormatDateTime(now,0)) rs("ip_adresa") = Request.ServerVariables("REMOTE_ADDR") rs("heslo") = heslo rs("sleva") = 0 rs("kr") = request("kr_celkem") rs("novinky") = novinky rs("id_shop") = session_server_id rs("shop") = session_server else id_zakaznik = rs2("id_zakaznik") duplicita_email = true end if rs2.close else strSQL = "SELECT * FROM zakaznik WHERE id_zakaznik = " & clng(request("zakaznik_id")) rs.Open strSQL, conn, 2, 3 end if if duplicita_email = false then hodnota = "jmeno=" : rs("jmeno") = value(hodnota) hodnota = "prijmeni=" : rs("prijmeni") = value(hodnota) hodnota = "email=" : rs("email") = trim(value(hodnota)) hodnota = "heslo=" : rs("heslo") = value(hodnota) hodnota = "tel=" : rs("tel") = value(hodnota) hodnota = "novinky=" : if value(hodnota) = "1" then rs("novinky") = true else rs("novinky") = false end if rs.Update rs.close if request("zakaznik_id") = "" then Set rsID = conn.execute("SELECT @@IDENTITY FROM zakaznik") id_zakaznik = rsID(0) Set rsID = nothing end if end if 'uložení adresy dodání Set rs = CreateObject("ADODB.RecordSet") if request("zakaznik_id") = "" then rs.Open "zakaznik_adr", conn, 2, 3 + AdExecuteNoRecords rs.Addnew rs("id_zakaznik") = id_zakaznik rs("fakturacni") = false elseif request("kosik_ulozit_adr_dodani") = "1" then strSQL = "SELECT * FROM zakaznik_adr WHERE id_zakaznik = " & clng(request("zakaznik_id")) & " AND fakturacni = 0" rs.Open strSQL, conn, 2, 3 end if if request("zakaznik_id") = "" or request("kosik_ulozit_adr_dodani") = "1" then hodnota = "jmeno2=" : rs("jmeno") = value(hodnota) hodnota = "firma2=" : rs("firma") = value(hodnota) hodnota = "ulice2=" : rs("ulice") = value(hodnota) hodnota = "mesto2=" : rs("mesto") = value(hodnota) hodnota = "psc2=" : rs("psc") = value(hodnota) hodnota = "ico2=" : if value(hodnota) <> "" then rs("ico") = value(hodnota) end if hodnota = "dic2=" : if value(hodnota) <> "" then rs("dic") = value(hodnota) end if rs.Update rs.close end if 'uložení fakturační adresy if request("kosik_fa_adresa") = "1" then Set rs = CreateObject("ADODB.RecordSet") if request("kosik_ulozit_adr_fa") = "1" or request("zakaznik_id") = "" or request("kosik_fa_adresa") = "" then strSQL = "SELECT * FROM zakaznik_adr WHERE id_zakaznik = " & id_zakaznik & " AND fakturacni = 1" rs.Open strSQL, conn, 2, 3 if rs.eof then rs.Addnew rs("id_zakaznik") = id_zakaznik rs("fakturacni") = true end if end if if request("zakaznik_id") = "" or request("kosik_ulozit_adr_fa") = "1" then hodnota = "jmeno3=" : rs("jmeno") = value(hodnota) hodnota = "firma3=" : rs("firma") = value(hodnota) hodnota = "ulice3=" : rs("ulice") = value(hodnota) hodnota = "mesto3=" : rs("mesto") = value(hodnota) hodnota = "psc3=" : rs("psc") = value(hodnota) hodnota = "ico3=" : rs("ico") = value(hodnota) hodnota = "dic3=" : rs("dic") = value(hodnota) rs.Update rs.close end if end if cas2 = timer - cas_zacatek cas_vse = cas_vse & "cas2: " & cas2 & "s" & "; " 'zjištění zda se jedná o objednávku z externího odkazu ext_odkaz_sessionid = request("ext_odkaz_sessionid") ext_odkaz_odkaz = request("ext_odkaz_odkaz") ext_odkaz_datum = request("ext_odkaz_datum") Response.Cookies ("odkaz").Expires = now() 'generování kódu do kod = "" for start = 1 to 4 kod = kod & nahodne_cislo(0,9) next kod = month(now) & year(now) & kod 'kontrola již použitého kódu Set rs2 = CreateObject("ADODB.RecordSet") strSQL = "SELECT kod FROM obj WHERE kod LIKE '" & kod & "'" rs2.Open strSQL, conn, 1, 1 if rs2.eof then rs2.close exit do end if rs2.close loop cas21 = timer - cas_zacatek cas_vse = cas_vse & "cas21: " & cas21 & "s" & "; " 'uložení objednávky Set rs = CreateObject("ADODB.RecordSet") rs.Open "obj", conn, 2, 3 + AdExecuteNoRecords rs.Addnew rs("id_zakaznik") = id_zakaznik rs("datum") = cdate(FormatDateTime(now,0)) rs("kod") = kod rs("postovne") = request("cena_dodani") rs("sleva") = 0 rs("poznamka") = request("poznamka") rs("id_dodani") = request("kosik_dodani") rs("id_platba") = request("kosik_platba") rs("zakaznik") = request("kosik_obj3_query") rs("stav") = 1 rs("ip_adresa") = Request.ServerVariables("REMOTE_ADDR") rs("poznamka_admin") = "" rs("prodejka") = false if request("kosik_fa_adresa") = "1" then rs("fakturacni_adr") = true else rs("fakturacni_adr") = false end if rs("z_webu") = true rs("ext_odkaz_sessionid") = ext_odkaz_sessionid rs("ext_odkaz_odkaz") = ext_odkaz_odkaz if isdate(ext_odkaz_datum) = true then rs("ext_odkaz_datum") = ext_odkaz_datum end if if isnumeric(request("kosik_balne")) = false then rs("balne") = 0 else rs("balne") = request("kosik_balne") end if rs("id_shop") = session_server_id rs("shop") = session_server rs.update rs.close cas22 = timer - cas_zacatek cas_vse = cas_vse & "cas22: " & cas22 & "s" & "; " Set rsID = conn.execute("SELECT @@IDENTITY FROM obj") id_obj = rsID(0) Set rsID = nothing cas3 = timer - cas_zacatek cas_vse = cas_vse & "cas3: " & cas3 & "s" & "; " 'uložení obj2 cena_celkem = 0 heureka_zbozi = "" seznam = split(request("kosik"),";") for start = 0 to ubound(seznam) - 1 seznam2 = split(seznam(start),"_") id_zbozi = seznam2(1) ks = seznam2(0) cena = seznam2(2) 'udaje pro Heureka overeno zakazniky heureka_zbozi = heureka_zbozi & "&itemId[]=" & id_zbozi 'získání id_s_zboží aj. Set rs = CreateObject("ADODB.RecordSet") strSQL = "SELECT zbozi.id_s_zbozi, sleva, cena, cena_puvodni, cena_karty1, cena_karty2, cena_karty3, nazev_zbozi, darek, kr, var_nazev, ks_obj, cena_shopy FROM zbozi, s_zbozi WHERE id_zbozi = " & clng(id_zbozi) & " AND zbozi.id_s_zbozi = s_zbozi.id_s_zbozi" rs.Open strSQL, conn, 2, 3 id_s_zbozi2 = rs(0) if session_server_id = "0" or session_server_id = "" then 'úprava cen pro příhlášené zákazníky sleva2 = rs("sleva") cena2 = cena cena_puvodni2 = rs("cena_puvodni") cena_karty1 = rs("cena_karty1") cena_karty2 = rs("cena_karty2") cena_karty3 = rs("cena_karty3") %> <% else cena = rs("cena_shopy") end if nazev_zbozi = rs("nazev_zbozi") darek = rs("darek") kr = rs("kr") rs.close 'uložení ks_obj strSQL = "UPDATE s_zbozi SET ks_obj = ks_obj + " & ks & " WHERE id_s_zbozi = " & id_s_zbozi2 conn.execute strSQL 'získání dárku if request("kosik_darky" & id_zbozi) <> "" then seznam3 = split(request("kosik_darky" & id_zbozi),",") for start3 = 0 to ubound(seznam3) - 1 seznam4 = split(seznam3(start3),"_") id_darek = seznam4(1) ks_darek = ks Set rs2 = CreateObject("ADODB.RecordSet") strSQL = "SELECT nazev_zbozi, sleva, cena, cena_puvodni, cena_karty1, cena_karty2, cena_karty3, kr, id_zbozi, s_zbozi.id_s_zbozi AS id_s_zbozi, cena_shopy FROM s_zbozi, zbozi WHERE s_zbozi.id_s_zbozi = zbozi.id_s_zbozi AND id_zbozi = " & id_darek rs2.Open strSQL, conn, 1, 1 if not rs2.eof then if session_server_id = "0" or session_server_id = "" then 'úprava cen pro příhlášené zákazníky sleva2 = rs2("sleva") cena2 = rs2("cena") cena_puvodni2 = rs2("cena_puvodni") cena_karty1 = rs2("cena_karty1") cena_karty2 = rs2("cena_karty2") cena_karty3 = rs2("cena_karty3") %> <% cena_darek = cena else cena_darek = rs2("cena_shopy") end if 'uložení dárků do objednávky Set rs = CreateObject("ADODB.RecordSet") strSQL = "SELECT * FROM obj2 WHERE id_obj = " & id_obj & " AND id_zbozi = " & id_darek rs.Open strSQL, conn, 2, 3 if not rs.eof then rs("ks") = rs("ks") + ks_darek else rs.Addnew rs("id_obj") = id_obj rs("id_zbozi") = id_darek rs("zbozi") = rs2("nazev_zbozi") rs("ks") = ks_darek rs("cena") = cena_darek rs("darek") = true rs("kr") = 0 rs("blokovat") = true end if rs.update rs.close 'úprava počtu blokovaného zboží skladem a stav dostupnosti id_s_zbozi = rs2("id_s_zbozi") %> <% end if rs2.close next end if 'uložení obj2 Set rs = CreateObject("ADODB.RecordSet") rs.Open "obj2", conn, 2, 3 + AdExecuteNoRecords rs.Addnew rs("id_obj") = id_obj rs("id_zbozi") = id_zbozi rs("zbozi") = nazev_zbozi rs("ks") = ks rs("cena") = cena rs("darek") = false rs("kr") = kr rs("blokovat") = true rs.update rs.close cena_celkem = cena_celkem + (cena * ks) 'úprava počtu blokovaného zboží skladem a stav dostupnosti id_s_zbozi = id_s_zbozi2 %> <% next cas4 = timer - cas_zacatek cas_vse = cas_vse & "cas4: " & cas4 & "s" & "; " 'generování html přílohy nazev_souboru = "obj_" & session_server & "_" & kod & ".htm" %> <% 'zaslání informačního e-mailu Set f = Server.CreateObject("Scripting.FileSystemObject") Set mail = Server.CreateObject("JMail.Message") mail.Charset = "windows-1250" 'mail.ContentTransferEncoding = "base64" 'mail.ContentType = "text/html" 'mail.Encoding = "quoted-printable" mail.silent = true if session_server_id = 0 then mail.MailServerUserName = "admin@bikestore.cz" mail.MailServerPassWord = "AdminIgnumBikestore2020" else mail.MailServerUserName = "postmaster@camelbak.cz" mail.MailServerPassWord = "uo2nau9kj" end if mail.From = session_server_email mail.FromName = session_server_nazev mail.AddRecipient email mail.AddRecipientBCC session_server_email cesta = Server.MapPath("html_obj/") & "\" mail.AddAttachment cesta & nazev_souboru mail.Subject = "Objednavka cislo " & kod & " byla prijata" 'obsah obsah = obsah & "Dobrý den," & vbcrlf & vbcrlf obsah = obsah & "děkujeme za Vaši objednávku zboží z internetového obchodu " & session_server_nazev & ", podrobnosti naleznete v příloze tohoto emailu." if request("druh_dodani") = "1" then obsah = obsah & vbcrlf & vbcrlf obsah = obsah & "Tento e-mail pouze potvrzuje, že objednávka byla přijata systémem. Pokud jste si vybrali osobní odběr zboží, budete k jeho vyzvednutí vyzváni dalším e-mailem, jakmile bude zboží pro Vás připraveno." end if if session_server = "bikestore" then obsah = obsah & vbcrlf & vbcrlf & vbcrlf obsah = obsah & "Zde je přístup do zákaznického centra, kde můžete sledovat stav všech Vašich objednávek:" & vbcrlf obsah = obsah & "http://www." & session_server & ".cz/zakaznik-prihlaseni.asp" end if obsah = obsah & vbcrlf 'podpis podpis = request("podpis") mail.Body = obsah & podpis if session_server_id = 0 then mail.Send("email.ignum.cz:587") else mail.Send("smtp.zoner.com:587") end if mail.ClearRecipients 'smazání dočasného HTML souboru cesta = Server.MapPath("html_obj/") & "\" f.deletefile(cesta & nazev_souboru) set f = nothing cas5 = timer - cas_zacatek cas_vse = cas_vse & "cas5: " & cas5 & "s" & "; " 'uložení kontrolní objednávky cena_celkem_obj = cena_celkem Set rs = CreateObject("ADODB.RecordSet") rs.Open "obj_kontrola", conn, 2, 3 + AdExecuteNoRecords rs.Addnew rs("id_obj") = id_obj rs("kod") = kod rs("datum") = cdate(FormatDateTime(now,0)) rs("cena") = cena_celkem_obj rs("zakaznik") = request("kosik_obj3_query") rs("ip_adresa") = Request.ServerVariables("REMOTE_ADDR") rs.update rs.close 'za kolik zákazník celkem objednal, slevy id_zakaznik = id_zakaznik %> <% 'odkaz Heureka overeno zakazniky - pravá část odkaz_heureka = "&email=" & email & heureka_zbozi & "&orderid=" & id_obj 'google dynamicky marketing session("id_obj") = id_obj session("cena_dodani") = request("cena_dodani") cas6 = timer - cas_zacatek cas_vse = cas_vse & "cas6: " & cas6 & "s" & "; " conn.close 'uložení testovacích časů do txt souboru set f = server.createobject("scripting.filesystemobject") set soubor = f.OpenTextFile(Server.MapPath("data_shopy/bikestore/test_casy_obj6.txt"),8,true) soubor.WriteLine(session_cesta_web & ", " & now & vbcrlf & cas_vse & vbcrlf) set f = nothing if request("kosik_platba_splatky") = "1" then Response.clear response.redirect session_cesta_web & "kosik-obj7.asp?splatky=1&stav=0&cenaZbozi=" & clng(cena_celkem_obj) & "&obj=" & id_obj & "&numklient=" & id_zakaznik & "&odkaz_heureka=" & server.urlencode(odkaz_heureka) else Response.clear response.redirect session_cesta_web & "kosik-obj7.asp?odkaz_heureka=" & server.urlencode(odkaz_heureka) & "&obj=" & id_obj end if %>