Help
RSS
API
Feed
Maltego
Contact
Domain > pizzeria-ravenna.de
×
More information on this domain is in
AlienVault OTX
Is this malicious?
Yes
No
DNS Resolutions
Date
IP Address
2011-07-29
85.214.84.117
(
ClassC
)
2025-03-26
85.214.156.43
(
ClassC
)
Port 80
HTTP/1.1 301 Moved PermanentlyServer: nginx/1.14.2Date: Wed, 26 Mar 2025 17:16:37 GMTContent-Type: text/htmlContent-Length: 185Connection: keep-aliveLocation: https://pizzeria-ravenna.de/ html>head>title>301 Moved Permanently/title>/head>body bgcolorwhite>center>h1>301 Moved Permanently/h1>/center>hr>center>nginx/1.14.2/center>/body>/html>
Port 443
HTTP/1.1 200 OKServer: nginx/1.14.2Date: Wed, 26 Mar 2025 17:16:38 GMTContent-Type: text/html; charsetutf-8Content-Length: 98984Connection: keep-aliveX-Frame-Options: DENYVary: CookieX-Content-Type-Options: nosniffReferrer-Policy: same-originSet-Cookie: csrftokenNeEBn6pogVrUmJYZIMs1zb5WkYpssB97Amh1FtVC4xxZTUl4aF167TogJPYNOzQo; expiresWed, 25 Mar 2026 17:16:38 GMT; Max-Age31449600; Path/; SameSiteLax !DOCTYPE html>html langde>head> !-- Styles ersetzen --> meta charsetutf-8 /> meta nameviewport contentwidthdevice-width, initial-scale1, shrink-to-fitno> title>Pizzeria Ravenna/title> meta namedescription contentGanz einfach und bequem auf unserer Homepage original Steinofenpizza bestellen. Sie profitieren von unserer langjährigen Erfahrung seit 1995.> meta namemsapplication-TileColor content#da532c> meta nametheme-color content#ffffff> !-- link relapple-touch-icon sizes180x180 href/static/app/img/favicon/apple-touch-icon.png> --> !-- link relicon typeimage/png sizes32x32 href/static/app/img/favicon/favicon-32x32.png> --> !-- link relicon typeimage/png sizes16x16 href/static/app/img/favicon/favicon-16x16.png> --> !-- Import CSS Files --> link href/static/app/css/Bootstrap/bootstrap.min.css?version5.1.3 relstylesheet /> link href/static/app/css/Uikit/uikit.min.css?version3.0.3 relstylesheet /> link href/static/app/css/Checkbox/pretty-checkbox.min.css?version3.9.4 relstylesheet /> link href/static/app/css/Animate/animate.min.css?version4.1.1 relstylesheet/> link href/static/app/css/loading.css?version1.0 relstylesheet typetext/css /> link href/static/app/css/style.css?version2.1 relstylesheet typetext/css /> link href/static/app/css/user_interface.css?version5 relstylesheet typetext/css /> link relicon typeimage/png sizes16x16 href/media/logo/logo_1682940197.png> link href/static/app/css/Fontawesome/all.min.css?version6.1.1 relstylesheet> link relshortcut icon href#> noscript> link relstylesheet hrefhttps://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.13.0/css/all.min.css> /noscript> link href/static/app/css/index.css?version1.1 relstylesheet typetext/css />/head>body> !-- ---------------------- HTML ---------------------- --> !-- Loadingscreen --> div classloading-screen idloading-screen> div classloading-icon idloading-icon> div classloader idloader1>/div> div classloader idloader2>/div> span idtext1 classtext1>Lädt.../span>br> span idtext2 classtext2>/span>br> /div> /div> header> !-- Navbar für die Hauptseite und Unteseiten --> nav classnavbar p-0 fixed-top> div classnavbar-1> div classcontainer d-flex position-relative h-100> a classnavbar-brand href/> img src/media/logo/logo_1682940197.png altlogo> /a> ul classnavbar-nav h-100> li classnav-item> a classnav-link hreftel:0211 312108> span classuk-margin-small-right>i classfa-solid fa-phone>/i>/span> 0211 312108 /a> /li> li classnav-item> a classnav-link hrefjavascript:void(0)> span classuk-margin-small-right>i classfa-solid fa-location-dot>/i>/span> Corneliusstraße 92, 40215 Düsseldorf /a> /li> /ul> div classsocial-media> a href#>i classfa-brands fa-facebook>/i>/a> a href#>i classfa-brands fa-instagram>/i>/a> /div> div classcollapse-toggle> button onclicktoggleNavbar()>i classfa-solid fa-bars>/i>/button> /div> /div> /div> div classnavbar-2> div classcontainer position-relative d-flex h-100 idnavbar-toggle> div classnavbar-collapse> ul classnavbar-nav h-100> li classnav-item> a classnav-link href/> span>Home/span> /a> /li> li classnav-item> a classnav-link sub-bar hrefjavascript:void(0)> span>Speisekarte/span> /a> div> div classcontainer d-flex> div uk-sliderfinite: true classm-auto w-100 px-5 px-md-3 px-lg-0> div classuk-position-relative tabindex-1> div classuk-slider-container> ul classuk-slider-items> li> !-- a hrefjavsacript:void(0) onclickselectCategoryMainPage(1)>Pizza/a> --> a hrefjavsacript:void(0) onclickopenAddressModal()>Pizza/a> /li> li> !-- a hrefjavsacript:void(0) onclickselectCategoryMainPage(2)>Pizzabrötchen/a> --> a hrefjavsacript:void(0) onclickopenAddressModal()>Pizzabrötchen/a> /li> li> !-- a hrefjavsacript:void(0) onclickselectCategoryMainPage(3)>Nudeln/a> --> a hrefjavsacript:void(0) onclickopenAddressModal()>Nudeln/a> /li> li> !-- a hrefjavsacript:void(0) onclickselectCategoryMainPage(4)>Überbacken/a> --> a hrefjavsacript:void(0) onclickopenAddressModal()>Überbacken/a> /li> li> !-- a hrefjavsacript:void(0) onclickselectCategoryMainPage(5)>Aufläufe/a> --> a hrefjavsacript:void(0) onclickopenAddressModal()>Aufläufe/a> /li> li> !-- a hrefjavsacript:void(0) onclickselectCategoryMainPage(6)>Salate/a> --> a hrefjavsacript:void(0) onclickopenAddressModal()>Salate/a> /li> li> !-- a hrefjavsacript:void(0) onclickselectCategoryMainPage(7)>Schnitzel/a> --> a hrefjavsacript:void(0) onclickopenAddressModal()>Schnitzel/a> /li> li> !-- a hrefjavsacript:void(0) onclickselectCategoryMainPage(8)>Steak/a> --> a hrefjavsacript:void(0) onclickopenAddressModal()>Steak/a> /li> li> !-- a hrefjavsacript:void(0) onclickselectCategoryMainPage(9)>Fisch/a> --> a hrefjavsacript:void(0) onclickopenAddressModal()>Fisch/a> /li> li> !-- a hrefjavsacript:void(0) onclickselectCategoryMainPage(10)>Fingerfood/a> --> a hrefjavsacript:void(0) onclickopenAddressModal()>Fingerfood/a> /li> li> !-- a hrefjavsacript:void(0) onclickselectCategoryMainPage(11)>Extra Dips/a> --> a hrefjavsacript:void(0) onclickopenAddressModal()>Extra Dips/a> /li> li> !-- a hrefjavsacript:void(0) onclickselectCategoryMainPage(12)>Dessert/a> --> a hrefjavsacript:void(0) onclickopenAddressModal()>Dessert/a> /li> li> !-- a hrefjavsacript:void(0) onclickselectCategoryMainPage(13)>Softdrinks/a> --> a hrefjavsacript:void(0) onclickopenAddressModal()>Softdrinks/a> /li> li> !-- a hrefjavsacript:void(0) onclickselectCategoryMainPage(14)>Alkohol/a> --> a hrefjavsacript:void(0) onclickopenAddressModal()>Alkohol/a> /li> /ul> /div> div> a classuk-position-center-left-out uk-position-small href# uk-slidenav-previous uk-slider-itemprevious>/a> a classuk-position-center-right-out uk-position-small href# uk-slidenav-next uk-slider-itemnext>/a> /div> /div> /div> /div> /div> /li> li classnav-item> a classnav-link hrefjavascript:void(0) onclickscrollToDiv(service)> span>Unser Service/span> /a> /li> li classnav-item> a classnav-link hrefjavascript:void(0) onclickscrollToDiv(contact)> span>Kontakt/span> /a> /li> li classnav-item> a classnav-link hrefjavascript:void(0) onclickopenModal(modal-login)> span>Login/span> /a> /li> /ul> /div> /div> /div> /nav> /header> div classheader-background > div classd-flex> div classcontainer m-auto> div classrow> div classcol-12 col-lg-6> div classrow> div classcol-12> h1 classanimate__animated animate__fadeInDown>Pizzeria Ravenna/h1> /div> div classcol-12 header-buttons> !-- button classbtn btn-secondary onclickwatchMenu()>Speisekarte/button> --> button classbtn btn-primary animate__animated animate__fadeInLeft onclickopenAddressModal()>i classfa-solid fa-utensils>/i> Jetzt Bestellen/button> /div> /div> /div> div classcol-12 col-lg-6 teaser-text> h2 classanimate__animated animate__fadeInDown>Öffnungszeiten/h2> span classanimate__animated animate__fadeInUp>p>Dienstag - Freitagbr>11:00 - 14:30 Uhr & 17:30 Uhr - 23:00 Uhr/p>p>Samstag, Sonntag & Feiertagebr>15:00 Uhr - 23:00 Uhr/p>p>Montag: Ruhetag/p>/span> /div> div classcol-12 header-buttons-mobile> !-- button classbtn btn-secondary m-auto onclickwatchMenu()>Speisekarte/button> --> button classbtn btn-primary m-auto animate__animated animate__fadeInLeft onclickopenAddressModal()>i classfa-solid fa-utensils>/i> Jetzt Bestellen/button> /div> /div> /div> /div>/div>!-- Content Bereich -->div classcontent> div classcontainer> !-- Header Line für die Speisen --> div classheadline> h1>Unsere Speisekarte/h1> /div> div classcategories> div classcategory> !-- div stylebackground-image: url(/media/categories/1/Pizza_1661094320.png) onclickselectCategoryMainPage(1)> --> div stylebackground-image: url(/media/categories/1/Pizza_1661094320.png) onclickopenAddressModal()> div> h4>Pizza/h4> /div> /div> /div> div classcategory> !-- div stylebackground-image: url(/media/categories/3/Pasta_1661094328.png) onclickselectCategoryMainPage(3)> --> div stylebackground-image: url(/media/categories/3/Pasta_1661094328.png) onclickopenAddressModal()> div> h4>Nudeln/h4> /div> /div> /div> div classcategory> !-- div stylebackground-image: url(/media/categories/6/Salate_1661094335.png) onclickselectCategoryMainPage(6)> --> div stylebackground-image: url(/media/categories/6/Salate_1661094335.png) onclickopenAddressModal()> div> h4>Salate/h4> /div> /div> /div> div classcategory> !-- div stylebackground-image: url(/media/categories/7/mark-konig-MyfbM2_BtYLKp9_1655545828_1660642633.jpg) onclickselectCategoryMainPage(7)> --> div stylebackground-image: url(/media/categories/7/mark-konig-MyfbM2_BtYLKp9_1655545828_1660642633.jpg) onclickopenAddressModal()> div> h4>Schnitzel/h4> /div> /div> /div> div classcategory> !-- div stylebackground-image: url(/media/categories/8/Steak_1661094340.jpg) onclickselectCategoryMainPage(8)> --> div stylebackground-image: url(/media/categories/8/Steak_1661094340.jpg) onclickopenAddressModal()> div> h4>Steak/h4> /div> /div> /div> div classcategory> !-- div stylebackground-image: url(/media/categories/9/Fisch_1661094349.jpg) onclickselectCategoryMainPage(9)> --> div stylebackground-image: url(/media/categories/9/Fisch_1661094349.jpg) onclickopenAddressModal()> div> h4>Fisch/h4> /div> /div> /div> div classcategory> !-- div stylebackground-image: url(/media/categories/12/Dessert_1661094356.png) onclickselectCategoryMainPage(12)> --> div stylebackground-image: url(/media/categories/12/Dessert_1661094356.png) onclickopenAddressModal()> div> h4>Dessert/h4> /div> /div> /div> div classcategory> !-- div stylebackground-image: url(/media/categories/13/Getraenke_1661094361.png) onclickselectCategoryMainPage(13)> --> div stylebackground-image: url(/media/categories/13/Getraenke_1661094361.png) onclickopenAddressModal()> div> h4>Softdrinks/h4> /div> /div> /div> /div> div classd-flex more-dishes> button classbtn btn-secondary m-auto onclickopenAddressModal()>Komplette Speisekarte/button> /div> /div> !-- Mittlerer Bereich --> div classcta-1 div_idservice> div> div classcontainer h-100> div classmiddle-text d-flex h-100> div classm-auto d-flex flex-wrap> div> h2 >Original im Steinofen gebacken/h2> /div> div> p>Ganz einfach und bequem auf unserer Homepage original Steinofenpizza bestellen.br>Sie profitieren von unserer langjährigen Erfahrung seit 1995./p> /div> div> button classbtn btn-secondary m-auto onclickopenAddressModal()>Jetzt Bestellen/button> /div> /div> /div> /div> /div> /div> !-- 3 Items --> div classcta-2> div classcontainer> div classrow> !-- Icon 1 --> div classcol-12 col-lg-4> div classrow> div classcol-12 col-md-6 col-lg-12 icon> i classfa-solid fa-truck>/i> /div> div classcol-12 col-md-6 col-lg-12 text> h4>Kostenlose Lieferung/h4> p> Bestell jetzt kostenlos auf unserer Homepage. Keine Liefergebühr! Einfach den Mindestbestellwert erfüllen und die Lieferung ist komplett kostenlos. /p> /div> /div> /div> !-- Icon 2 --> div classcol-12 col-lg-4> div classrow> div classcol-12 col-md-6 col-lg-12 icon order-md-2 order-lg-1> i classfa-solid fa-thumbs-up>/i> /div> div classcol-12 col-md-6 col-lg-12 text order-md-1 order-lg-2> h4>Bester Service/h4> p> Wir Lieferung schnell und warm direkt vor ihre Haustüre. Ihr Essen wird von unseren kompetenten Lieferanten direkt aus dem Steinofen zu ihnen nach Hause geliefert. /p> /div> /div> /div> !-- Icon 3 --> div classcol-12 col-lg-4> div classrow> div classcol-12 col-md-6 col-lg-12 icon> i classfa-solid fa-percent>/i> /div> div classcol-12 col-md-6 col-lg-12 text> h4>Angebote/h4> p> Nur auf unserer Homepage gibt es regemläßig Angebote für die unterschiedlichsten Gerichte. /p> /div> /div> /div> /div> /div> /div>/div> !-- Cookie Banner --> div classcookie-banner idcookie-banner> div classrow> div> p>Diese Website verwendet Cookies. Wenn Sie Ihre Navigation fortsetzen, stimmen Sie der Verwendung von Cookies zu. Für weitere Informationen lesen Sie bitte unsere a href/policy/ target_blank>Datenschutzerklärung/a>./p> /div> div> button classbtn btn-success btn-sm onclickacceptCookies()>Okay/button> /div> /div> /div> !-- Footer --> footer classmain-footer pt-3> div classcontainer> div classrow py-4> div classcol-6 col-xl-3 footer-column> h3 classheading footer-heading>Quicklinks/h3> hr classfooter-heading-line> ul classfooter-pages> li>a classfooter-link href/>Home/a>/li> li>a classfooter-link data-bs-togglemodal data-bs-target#modal-form>Speisekarte/a>/li> li>a classfooter-link href#>Reservieren/a>/li> li>a classfooter-link href#>Einloggen/a>/li> /ul> /div> div classcol-6 col-xl-3 footer-column> h3 classheading footer-heading>Kontakt/h3> hr classfooter-heading-line> ul classfooter-pages> li>0211 312108/li> li>info@pizzeria-ravenna.de/li> li>Corneliusstraße 92/li> li>40215 Düsseldorf/li> li classfooter-contact-social> a classpx-1 href# aria-labelInstagram target_blank> i classfab fa-instagram>/i> /a> a classpx-1 href# aria-labelFacebook target_blank> i classfab fa-facebook>/i> /a> /li> /ul> /div> div classcol-12 col-xl-6 footer-column> h3 classheading footer-heading>Kontaktformular/h3> hr classfooter-heading-line> div classp-3 p-md-5 contact-formular div_idcontact> div classform-group> div classrow mb-3> div classcol-6> input classuk-input namename placeholderName*> /div> div classcol-6> input classuk-input nameemail placeholderE-Mail-Adresse*> /div> /div> textarea classuk-textarea mb-3 namemessage placeholderIhre Nachricht* maxlength250 rows5>/textarea> /div> div classDSGVO mt-3> div classd-flex> div classpretty p-default p-curve p-thick> input typecheckbox idcontact_info_formular namedsgvo value1/> div classstate p-primary-o> label>/label> /div> /div> div> label forcontact_info_formular> span> Ich stimme zu, dass meine Angaben aus dem Kontaktformular zur Beantwortung meiner Anfrage erhoben und verarbeitet werden. /span> /label> /div> /div> div classinfo-text mt-2> Hinweis: Sie können Ihre Einwilligung jederzeit für die Zukunft per E-Mail an info@pizzeria-ravenna.de widerrufen. Detaillierte Informationen zum Umgang mit Nutzerdaten finden Sie in unserer a href/policy/ classDSGVO target_blank>Datenschutzerklärung/a>. /div> /div> div namealert-contact-info classuk-alert-danger uk-animation-shake d-none uk-alert uk-alert> Bitte stimmen Sie der Datenverarbeitung zu. /div> div classmt-3> button typebutton onclicksendContactRequest() classbtn btn-primary>Nachricht abschicken/button> /div> /div> /div> /div> div classrow> div class> div classrow> div classcol>hr classfooter-line>/div> /div> div classrow m-0 footer-end> div classcol-12 col-md-4 mt-3 mt-md-0 ml-lg-3 order-2 order-md-1> © 2025 Pizzeria Ravenna /div> div classcol-12 col-md-8 order-1 p-0 order-md-2> ul> li> a href/agb/ target_blank>AGB/a> /li> li> a href/policy/ target_blank>Datenschutz/a> /li> li> a href/impressum/ target_blank>Impressum/a> /li> /ul> /div> /div> /div> /div> /div> /footer> !-- ---------------------- Modal ---------------------- --> div idmodal-address classuk-flex-top uk-modal> div classuk-modal-dialog uk-modal-body uk-margin-auto-vertical> !-- Kopfzeile --> div nameselect-order-type> div classheader> div classrow> div classcol-12 col-md-6 d-flex> button classbtn btn-light w-100 active onclickselectDelviery(this)>Lieferung lassen/button> /div> div classcol-12 col-md-6 d-flex mt-2 mt-md-0> button classbtn btn-light w-100 onclickselectPickup(this)>Abholung/button> /div> /div> /div> hr> /div> !-- Inhalt des Modals --> div classcontent mt-4> div nameaddress> div> h4 classinput-header text-center>Geben sie ihre Postleitzahl ein/h4> /div> div classd-flex> button classbtn btn-primary w-100 btn-mobile-sm onclickallowPosition()>i classfa-solid fa-location-dot>/i> Meinen Standort verwenden/button> /div> !-- Hausnummer Alert --> div classmt-4> !-- span classstreet-number-alert d-none input-alert>Bitte gib deine Straße mit Hausnummer ein./span> --> span classmissing-postalcode-alert d-none input-alert>Bitte geben Sie eine Postleitzahl an./span> span classpostalcode-alert d-none input-alert>Postleitzahl NICHT im Liefergebiet./span> /div> !-- Postleitzahl Eingeben --> div classrow mt-4 delivery-address> div classcol-12 col-md-9 position-relative> input typetext classuk-input idcurrent-address placeholderPostleitzahl> div classpostalcodes-list> ul> li> a hrefjavascript:void(0) onclickselectPostalcode(40210) value40210>40210/a> /li> li> a hrefjavascript:void(0) onclickselectPostalcode(40211) value40211>40211/a> /li> li> a hrefjavascript:void(0) onclickselectPostalcode(40212) value40212>40212/a> /li> li> a hrefjavascript:void(0) onclickselectPostalcode(40215) value40215>40215/a> /li> li> a hrefjavascript:void(0) onclickselectPostalcode(40217) value40217>40217/a> /li> li> a hrefjavascript:void(0) onclickselectPostalcode(40219) value40219>40219/a> /li> li> a hrefjavascript:void(0) onclickselectPostalcode(40221) value40221>40221/a> /li> li> a hrefjavascript:void(0) onclickselectPostalcode(40223) value40223>40223/a> /li> li> a hrefjavascript:void(0) onclickselectPostalcode(40225) value40225>40225/a> /li> li> a hrefjavascript:void(0) onclickselectPostalcode(40227) value40227>40227/a> /li> li> a hrefjavascript:void(0) onclickselectPostalcode(40477) value40477>40477/a> /li> li> a hrefjavascript:void(0) onclickselectPostalcode(40479) value40479>40479/a> /li> /ul> /div> /div> div classcol-12 col-md-3 ml-auto mt-2 mt-md-0> button classbtn btn-secondary w-100 namemodal-address-start onclickstartDeliveryOrder()>LOS i classfa-solid fa-play>/i>/button> /div> /div> /div> !-- Nur LOS Button --> div classd-flex flex-wrap d-none namepick-up> button classbtn btn-secondary w-100 onclickstartOrder()>Jetzt bestellen i classfa-solid fa-play>/i>/button> p classinfo-text mt-3 m-auto>Die Uhrzeit kann im weiteren Prozess ausgewählt werden/p> /div> /div> /div> /div> div idmodal-login classuk-flex-top uk-modal> div classuk-modal-dialog uk-modal-body uk-margin-auto-vertical login> form idlogin_form> !-- Kopfzeile --> div classheader> img src/media/logo/logo_1682940197.png altlogo> h4 nameheader classw-100 text-center text-uppercase>Jetzt einloggen/h4> div nameregister classw-100 mt-3 d-flex flex-wrap> p classinfo-text m-auto w-100 text-center mb-2>Noch kein Konto?/p> button typebutton classbtn btn-sm btn-secondary m-auto onclickopenModal(modal-register)>Jetzt registrieren/button> /div> p namesuccess-message classsuccess-text w-100 text-center mt-3 d-none>Wir haben dir eine Email zum zurücksetzen des Passworts gesendet!/p> /div> hr> !-- Kontent --> div classcontent> p namelogin-alert classinput-alert text-center w-100 d-none>Bitte Benuterzname/E-Mail eingeben./p> input typetext nameusername classuk-input placeholderBenutzername/E-Mail autocompleteusername> input typepassword namepassword classuk-input placeholderPasswort autocompletecurrent-password> /div> hr> div classfooter> div classw-100 d-flex mb-3> a hrefjavascript:void(0) classinfo-text m-auto text-center nameforgot-password-button onclickforgotPassword()>Passwort vergessen?/a> /div> input typesubmit namelogin-button classbtn btn-primary m-auto valueEinloggen> input typebutton namereset-password-button classbtn btn-primary m-auto d-none onclickresetPassword() valuePasswort anfordern> !-- p classw-100 text-center>Sie können sich bei Bestellabschluss registrieren./p> --> /div> /form> /div> /div> !-- Anmelden oder registrieren --> div idmodal-register classuk-flex-top uk-modal> div classuk-modal-dialog uk-modal-body uk-margin-auto-vertical login> form idregister_form> !-- Kopfzeile --> div classheader> img src/media/logo/logo_1682940197.png altlogo> h4 classw-100 text-center text-uppercase>Kostenlos registrieren/h4> p classinfo-text mt-2 text-center>und Adresseingabe überspringen und jede Bestellung im Profil nachverfolgen./p> div classw-100 d-flex flex-wrap mt-3> p classinfo-text m-auto w-100 text-center mb-2>Ich habe bereits ein Konto/p> button typebutton classbtn btn-sm btn-secondary m-auto onclickopenModal(modal-login)>Anmelden/button> /div> /div> hr> !-- Kontent --> div classcontent> p nameregister-alert classinput-alert text-center w-100 d-none>Bitte E-Mail eingeben./p> input typetext nameusername classuk-input placeholderE-Mail autocompleteusername> input typepassword namepassword classuk-input placeholderPasswort autocompletenew-password> input typepassword namepassword_confirm classuk-input placeholderPasswort Wiederholen autocompletenew-password> /div> hr> div classfooter> input typesubmit classbtn btn-primary m-auto valueRegistrieren> a classmt-3 text-center w-100 hrefjavascript:void(0) onclickcloseModal(modal-register)>Ohne Registrierung fortfahren/a> p classinfo-text-sm>Mit der Registrierung stimmen sie den a href/policy/ target_blank>Datenschutzrichtlininen/a> von Pizzeria Ravenna zu./p> /div> /form> /div> /div> !-- ---------------------- Script ---------------------- --> script src/static/app/js/Bootstrap/bootstrap.min.js?version5.1.3>/script> script src/static/app/js/Uikit/uikit.min.js?version3.9.4>/script> script src/static/app/js/Uikit/uikit-icons.min.js?version3.9.4>/script> script src/static/app/js/List/list.min.js?version2.3.1>/script> script src/static/app/js/loadingscreen.js?version2.3.1>/script> script src/static/app/js/generalFunctions.js?version1.0.0>/script> script src/static/app/js/Libraries/moment.min.js?version2.29.1>/script> !-- script src/static/app/js/Fontawesome/all.min.js?version2.29.1>/script> --> !-- script srchttps://code.jquery.com/jquery-3.6.0.min.js integritysha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4 crossoriginanonymous>/script> --> script src/static/app/js/Jquery/jquery-3.6.0.min.js>/script> !-- script srchttps://cdnjs.cloudflare.com/ajax/libs/popper.js/2.9.2/umd/popper.min.js integritysha512-2rNj2KJ+D8s1ceNasTIex6z4HWyOnEYLVC3FigGOmyQCZc2eBXKgOxQmo3oKLHyfcj53uz4QMsRCWNbLd32Q1g crossoriginanonymous referrerpolicyno-referrer>/script> --> !-- Navbar --> script> var margin_offset 140; // Collapse Navbar const toggleNavbar () > { let navbar $(#navbar-toggle); if ($(navbar).hasClass(show)) { $(navbar).removeClass(show) $(navbar).parent().css(height, ) } else { $(navbar).addClass(show) $(navbar).parent().css(height, 250px) $(navbar).parent().css(transition-delay, 100ms) } } const closeNavbar () > { let navbar $(#navbar-toggle); if ($(navbar).hasClass(show)) { $(navbar).removeClass(show) $(navbar).parent().css(height, ) } } $(document).mouseup(function(e) { let container_1 $(#navbar-toggle).parent(), container_2 $(.collapse-toggle button), navbar $(#navbar-toggle); // if the target of the click isnt the container nor a descendant of the container if (!container_1.is(e.target) && container_1.has(e.target).length 0 && !container_2.is(e.target) && container_2.has(e.target).length 0) { closeNavbar() } }); // Zum DIV scrollen const scrollToDiv (div_id) > { $(html,body).animate({ scrollTop: $(divdiv_id + div_id + ).offset().top - margin_offset }, 10); } /script> !-- Order navbar --> script> // Collapse Navbar const toggleOrderNavbar () > { let navbar $(#navbar-order-toggle); if ($(navbar).hasClass(show)) { $(navbar).removeClass(show) $(navbar).css(height, ) } else { $(navbar).addClass(show) $(navbar).css(height, $($(navbar).children()0).outerHeight() + 20) } } const closeOrderNavbar () > { let navbar $(#navbar-order-toggle); if ($(navbar).hasClass(show)) { $(navbar).removeClass(show) $(navbar).css(height, ) } } $(document).mouseup(function(e) { let container_1 $(#navbar-order-toggle).parent(), container_2 $(.collapse-toggle button), navbar $(#navbar-order-toggle); // if the target of the click isnt the container nor a descendant of the container if (!container_1.is(e.target) && container_1.has(e.target).length 0 && !container_2.is(e.target) && container_2.has(e.target).length 0) { closeOrderNavbar() } }); $(window).scroll(function() { closeOrderNavbar() }); /script> !-- Kategory auswählen --> script> const selectCategoryMainPage (category_id) > { $.ajax({ type: POST, url: /, traditional: true, data: { selectCategory: selectCategory, category_id: category_id, csrfmiddlewaretoken: wUT1hkS91LXRc1vM0gjc7ZLjBLMUe4Yyj2wrzHonPn3WJcSRs9ShFH4D0ClfA2FP, }, success: () > { window.open(/order/, _parent) }, error: () > { UIkit.modal.alert(Es ist ein strong>Fehler/strong> aufgetreten!br />\ Bitte versuche es zu einem späteren Zeitpunkt erneut.); } }) } /script> !-- Speisekarte ansehen --> script> const watchMenu () > { $.ajax({ type: POST, url: /, traditional: true, data: { watchMenu: watchMenu, csrfmiddlewaretoken: wUT1hkS91LXRc1vM0gjc7ZLjBLMUe4Yyj2wrzHonPn3WJcSRs9ShFH4D0ClfA2FP, }, success: (data) > { window.open(/order/, _parent) }, error: () > { UIkit.modal.alert(Es ist ein strong>Fehler/strong> aufgetreten!br />\ Bitte versuche es zu einem späteren Zeitpunkt erneut.); } }) } /script> !-- Kontaktformular senden --> script> const validateContactRequest () > { let name $(.contact-formular inputnamename), email $(.contact-formular inputnameemail), text $(.contact-formular textareanamemessage), dsgvo $(.contact-formular inputnamedsgvo), alert $(.contact-formular divnamealert-contact-info); let name_exists true if ($(name).val() ! && name) { $(name).removeClass(error-value) } else { $(name).addClass(error-value) name_exists false } let email_exists true if ($(email).val() ! && email) { $(email).removeClass(error-value) } else { $(email).addClass(error-value) email_exists false } let text_exists true if ($(text).val() ! && text) { $(text).removeClass(error-value) } else { $(text).addClass(error-value) text_exists false } let dsgvo_exists true if ($(dsgvo).is(:checked)) { $(alert).addClass(d-none) } else { $(alert).removeClass(d-none) } if (name_exists && email_exists && text_exists && dsgvo_exists) { return true } else { return false } } const sendContactRequest () > { if (validateContactRequest()) { let name $(.contact-formular inputnamename), email $(.contact-formular inputnameemail), message $(.contact-formular textareanamemessage); // showLoadingScreen(Sendet) $.ajax({ type: POST, url: /, traditional: true, data: { sendContactRequest: sendContactRequest, name: $(name).val(), email: $(email).val(), message: $(message).val(), csrfmiddlewaretoken: wUT1hkS91LXRc1vM0gjc7ZLjBLMUe4Yyj2wrzHonPn3WJcSRs9ShFH4D0ClfA2FP, }, success: (data) > { // hideLoadingScreen(Gesendet!, 500) // UIkit.modal.alert(\ // strong>Vielen Dank für Ihre Kontaktanfrage./strong>/br>\ // Wir werden uns schnellstens mit Ihnen in Verbindung setzen. // ).then(function() { // $(name).val(); // $(email).val(); // $(message).val(); // $(.contact-formular inputnamedsgvo).prop(checked, false) // }); }, error: () > { hideLoadingScreen(, 0) UIkit.modal.alert(Die Nachricht konnte nicht gesendet werden.); } }) } } /script> !-- Globale Funktionen --> script> $(input.price-only).on(input, function() { this.value this.value.replace(/^0-9,/g, ).replace(/(\..*?)\..*/g, $1); this.value this.value.match(/^\d+\,?\d{0,2}/); }); const priceOnly (obj) > { let value obj.value; value value.replace(/^0-9,/g, ).replace(/(\..*?)\..*/g, $1); value value.match(/^\d+\,?\d{0,2}/); obj.value value }; const toPrice (obj) > { let value obj.value; if (value ! ) { value value.replace(/^0-9,/g, ).replace(/(\..*?)\..*/g, $1); value value.match(/^\d+\,?\d{0,2}/); value value.toString().replace(,, .) value parseFloat(value).toFixed(2).toString().replace(., ,) } else { value - } obj.value value }; const onlyNumber (obj) > { obj.value obj.value.replace(/^0-9,/g, ); }; // Deutsches Preisformat function currencyFormatDE(num) { return ( parseFloat(num) .toFixed(2) // always two decimal digits .replace(., ,) // replace decimal point character with , .replace(/(\d)(?(\d{3})+(?!\d))/g, $1.) ) // use . as a separator } const openURL (url) > { window.open(url, _parent) } /script> !-- E-Mail Validierung --> script> function isEmail(email) { var regex /^(a-zA-Z0-9_.+-)+\@((a-zA-Z0-9-)+\.)+(a-zA-Z0-9{2,4})+$/; return regex.test(email); } /script> !-- Allgemein ein Modal schließen und öffnen --> script> const closeModal (id) > { UIkit.modal($(# + id + )).hide() } const openModal (id) > { UIkit.modal($(# + id + )).show() } /script> script> // document.querySelectorAll(*).forEach(el > { // if (el.offsetWidth > document.documentElement.offsetWidth) { // console.log(Found the worst element ever: , el); // } // }); /script> !-- ----------------------------------------------- GOOGLE ----------------------------------------------- --> !-- Google API --> script async srchttps://maps.googleapis.com/maps/api/js?keyAIzaSyDOWMMVwMTwSD_ih1vW3foVd5op13HUpE0&librariesplaces>/script> !-- Adresse eingeben --> script> // Modal zum Adresse Eingeben öffnen const openAddressModal () > { $(#modal-address nameselect-order-type).removeClass(d-none) $(#modal-address buttonnamemodal-address-start).attr(onclick, startDeliveryOrder()) openModal(modal-address) getCurrentLocation(); sendDeliveryPickupStatus(delivery) } // Autocomplete Bestelladresse let autocomplete; const componentForm { route: long_name, street_number: short_name, locality: long_name, postal_code: short_name, }; const addressForms { route: street, street_number: street_number, locality: city, postal_code: postalcode, } const addressForms_list street, street_number, city, postalcode, var complete_delivery_adress {}; function initAutocomplete() { let cityBounds new google.maps.LatLngBounds( new google.maps.LatLng(47.100045, 5.712891), new google.maps.LatLng(54.939766, 14.853516)); let options { bounds: cityBounds, strictBounds: true, types: address, // componentRestrictions: {country: de} }; // // Modal Adresse eingeben // let input document.getElementById(current-address); // autocomplete new google.maps.places.Autocomplete(input, options); // autocomplete.setFields(address_component); // autocomplete.addListener(place_changed, function() { // checkStreet(autocomplete.getPlace()); // }); // Bestellung abschließen let input_final_adress document.getElementById(final-address); if (input_final_adress) { autocomplete_order_confirm new google.maps.places.Autocomplete(input_final_adress, options); autocomplete_order_confirm.addListener(place_changed, function() { autoFillAdress(autocomplete_order_confirm.getPlace()); }); } } // Hausnummer überprüfen function checkStreet(place) { // Alle Adresskomponenten rausfiltern let address_types place.address_components.map(x > x.types0), status false; // Überprüfen, ob eine Hausnummer angeben wurde if (!address_types.includes(street_number)) { $(#modal-address .street-number-alert).removeClass(d-none) $(#modal-address .postalcode-alert).addClass(d-none) } else { $(#modal-address .street-number-alert).addClass(d-none) status true; } complete_delivery_adressformatted_address place.formatted_address // Dictionary der kompletten Adresse for (const component of place.address_components) { const addressType component.types0; if (componentFormaddressType) { const val componentcomponentFormaddressType; complete_delivery_adressaddressType val; $(divnamedelivery_address inputname + addressFormsaddressType + ).val(val) } } return status; } // Autofill function autoFillAdress (place) { for (addressForm of addressForms_list) { $(divnamedelivery_address inputname + addressForm + ).val() } for (const component of place.address_components) { const addressType component.types0; if (componentFormaddressType) { const val componentcomponentFormaddressType; $(divnamedelivery_address inputname + addressFormsaddressType + ).val(val) } } } // Wenn händisch die Adresse geändert wird $(#current-address).change(function() { // let address_string $(this).val(); // var geocoder; // geocoder new google.maps.Geocoder(); // geocoder.geocode( // { address: address_string}, function(results, status) { // if (status OK) { // place results0; // checkStreet(place) // } // } // ) }) // Höhe der Postalcode liste berechnen function calcPostalcodeListHeight(obj) { let modal_height $($(#modal-address).children()0).outerHeight(), current_address_pos $(#current-address).offset(), li_elements_amount $($(obj).next().children()0).children(li:not(.d-none)).length $(obj).next().height((li_elements_amount * 34)) $(obj).next().css(max-height, calc(100vh - 56px - + current_address_pos.top + px - 50px)); $(obj).next().css(opacity, 1); $(obj).next().css(visibility, visible); } $(#current-address).keyup(function() { let postalcodes_list $($(this).next().children()0).children(li); for (postalcode_element of postalcodes_list) { let postalcode $(postalcode_element).children(a)0; if ($(postalcode).attr(value).startsWith($(this).val())) { $(postalcode_element).removeClass(d-none) } else { $(postalcode_element).addClass(d-none) } } calcPostalcodeListHeight(this) }) // Öffnen der Postleitzahlenliste $(#current-address).focusin(function() { calcPostalcodeListHeight(this) }) // Schließen der Postleitzahlenlist $(document).mouseup(function(e) { var current_address $(#current-address)0, postalcodes_list $(current_address).next()0; // if the target of the click isnt the container nor a descendant of the container if (!current_address.contains(e.target) && !postalcodes_list.contains(e.target) ) { $(current_address).next().height(0); $(current_address).next().css(opacity, ); $(current_address).next().css(visibility, ); } }); $(#current-address).keypress(function(event){ var keycode (event.keyCode ? event.keyCode : event.which); if(keycode 13){ startDeliveryOrder() } }); // Postalcode aus der Liste wählen function selectPostalcode(postalcode) { $(#current-address).val(postalcode); startOrder() } /script> !-- Aktuelle Position --> script> // Abfrage ob Standortabfrage zugelassen wurdedee var location_premission false; var clicked false; navigator.permissions.query({name:geolocation}) .then(function(permissionStatus) { if (permissionStatus.state granted) location_premission true; }); // Anzeigen und Verstecken des Buttons function allowPosition() { // Überprüfen, ob Geolocation supported wird if (navigator.geolocation) { getCurrentLocation(true) } else { UIkit.modal.alert(Die Standortbestimmung wird von diesem Browser leider nicht unterstützt.) } } // Aktuelle Position in Koordinaten ziehen function getCurrentLocation(clicked) { var startPos; var geoSuccess function(position) { // getCity(position.coords.latitude, position.coords.longitude) var geocoder new google.maps.Geocoder(); var latLng new google.maps.LatLng(position.coords.latitude, position.coords.longitude); geocoder.geocode({ latLng: latLng }, function(responses) { if (responses && responses.length > 0) { let address_string responses0.formatted_address; for (const component of responses0.address_components) { const addressType component.types0; if (addressType postal_code) { const val componentshort_name; $(#current-address).val(val); } } // Auskommentieren, falls mit kompletter Adresse statt nur Postleitzahl gearbeitet wird // geocoder.geocode( // { address: address_string}, function(results, status) { // if (status OK) { // place results0; // checkStreet(place) // } // } // ) } else { UIkit.modal.alert(Ihr Standort konnte leider nicht ermittelt werden. Bitte versuchen Sie es später erneut oder geben Sie Ihren Standort direkt ein.) } }) }; var geoError function(error) { console.log(Error occurred. Error code: + error.code); // error.code can be: // 0: unknown error // 1: permission denied // 2: position unavailable (error response from location provider) // 3: timed out if (error.code 1) { if (clicked) { UIkit.modal.alert(Sie müssen Ihre Standorteinstellungen im Browser anpassen.br />br />\ strong>Website-Einstellungen/strong> i classfas fa-arrow-right>/i> strong>Standort/strong> i classfas fa-arrow-right>/i> \ für i>pizzeria-ravenna.de/i> zulassen.) } } if (error.code 2) { if (clicked) { UIkit.modal.alert(Ihr Standort konnte leider nicht ermittelt werden. Bitte versuchen Sie es später erneut oder geben Sie Ihren Standort direkt ein.) } } }; navigator.geolocation.getCurrentPosition(geoSuccess, geoError); } /script> !-- ------------------------------------------------------------------------------------------------------ --> !-- Zwischen Lieferung und Abholung wechseln --> script> // Lieferung wählen const selectDelviery (obj) > { $($(obj).parent().next().children()0).removeClass(active) $(obj).addClass(active) // Lieferadresse anzeigen und Abholung verstecken $(#modal-address divnameaddress).removeClass(d-none) $(#modal-address divnamepick-up).addClass(d-none) // Status ans Backend übermitteln sendDeliveryPickupStatus(delivery) } // Abholung wählen const selectPickup (obj) > { $($(obj).parent().prev().children()0).removeClass(active) $(obj).addClass(active) // Lieferadresse verstecken und Abholung anzeigen $(#modal-address divnameaddress).addClass(d-none) $(#modal-address divnamepick-up).removeClass(d-none) // Status ans Backend übermitteln sendDeliveryPickupStatus(pickup) } // Lieferung oder Abholung status übernehmen const sendDeliveryPickupStatus (status) > { $.ajax({ type: POST, url: /, traditional: true, data: { sendDeliveryPickupStatus: sendDeliveryPickupStatus, status: status, csrfmiddlewaretoken: wUT1hkS91LXRc1vM0gjc7ZLjBLMUe4Yyj2wrzHonPn3WJcSRs9ShFH4D0ClfA2FP, }, success: () > { }, error: () > { UIkit.modal.alert(Es ist ein strong>Fehler/strong> aufgetreten!br />\ Bitte versuche es zu einem späteren Zeitpunkt erneut.); } }) } /script> !-- Bestellung starten --> script> // Lieferbestellung starten const startDeliveryOrder () > { // Auskommentieren, wenn komplette Adresse genutzt wird // var geocoder new google.maps.Geocoder(); // geocoder.geocode( // { address: $(#current-address).val()}, function(results, status) { // if (status OK) { // place results0; // if (checkStreet(place)) { // startOrder(); // } // } else { // $(#modal-address .street-number-alert).removeClass(d-none) // } // } // ) if ($(#current-address).val() && $(#current-address).val() ! ) { startOrder(); } else { $(#modal-address .postalcode-alert).addClass(d-none) $(#modal-address .missing-postalcode-alert).removeClass(d-none) } } // Generell die Bestellung starten const startOrder () > { $.ajax({ type: POST, url: /, traditional: true, data: { startOrder: startOrder, postalcode: $(#current-address).val(), // complete_delivery_adress: JSON.stringify(complete_delivery_adress), csrfmiddlewaretoken: wUT1hkS91LXRc1vM0gjc7ZLjBLMUe4Yyj2wrzHonPn3WJcSRs9ShFH4D0ClfA2FP, }, success: (data) > { if (!data.not_deliveryarea) { window.open(/order/, _parent) } else { $(#modal-address .missing-postalcode-alert).addClass(d-none) $(#modal-address .postalcode-alert).removeClass(d-none) } }, error: () > { UIkit.modal.alert(Es ist ein strong>Fehler/strong> aufgetreten!br />\ Bitte versuche es zu einem späteren Zeitpunkt erneut.); } }) } /script> !-- Bestellart ändern --> script> const changeToDeliveryType () > { $.ajax({ type: POST, url: /order/requestFuntions/, traditional: true, data: { changeToDeliveryType: changeOrderTypchangeToDeliveryTypeeConfirm, // complete_delivery_adress: JSON.stringify(complete_delivery_adress), postalcode: $(#current-address).val(), order_id: , csrfmiddlewaretoken: wUT1hkS91LXRc1vM0gjc7ZLjBLMUe4Yyj2wrzHonPn3WJcSRs9ShFH4D0ClfA2FP, }, success: (data) > { if (data.deliveryarea) { changeOrderTypeDisplay() closeModal(modal-address) } else { changeOrderTypeDisplay() $(#modal-address .street-number-alert).addClass(d-none) $(#modal-address .postalcode-alert).removeClass(d-none) } }, error: () > { $(selectnameorder_type).val(pickup) UIkit.modal.alert(Es ist ein strong>Fehler/strong> aufgetreten!br />\ Bitte versuche es zu einem späteren Zeitpunkt erneut.); } }) } const changeOrderType (obj) > { let new_type $(obj).val() $.ajax({ type: POST, url: /order/requestFuntions/, traditional: true, data: { changeOrderType: changeOrderType, new_type: new_type, order_id: , csrfmiddlewaretoken: wUT1hkS91LXRc1vM0gjc7ZLjBLMUe4Yyj2wrzHonPn3WJcSRs9ShFH4D0ClfA2FP, }, success: (data) > { if (data.no_address) { $(#modal-address nameselect-order-type).addClass(d-none) $(#modal-address buttonnamemodal-address-start).attr(onclick, changeToDeliveryType()) openModal(modal-address) getCurrentLocation(); } else { changeOrderTypeDisplay() } }, error: (data) > { $(selectnameorder_type).val(data.order_type) UIkit.modal.alert(Es ist ein strong>Fehler/strong> aufgetreten!br />\ Bitte versuche es zu einem späteren Zeitpunkt erneut.); } }) } // Anzeigen auf den Seiten ändern const changeOrderTypeDisplay () > { $.ajax({ type: POST, url: /order/requestFuntions/, traditional: true, data: { changeOrderTypeDisplay: changeOrderTypeDisplay, csrfmiddlewaretoken: wUT1hkS91LXRc1vM0gjc7ZLjBLMUe4Yyj2wrzHonPn3WJcSRs9ShFH4D0ClfA2FP, }, success: (data) > { $(selectnameorder_type).val(data.order_type) if (data.order_type delivery) { $(inameorder_type_icon).attr(class, fa-solid fa-truck) // $(spannametime_text_header).html(Lieferzeit:) // $(spannametime_text).html(40 Minuten) // Modal Bestellabschluss $(divnamedelivery-time-confirm p).html(Sie erhalten gleich eine Bestellbestätigung mit der aktuellen Lieferzeit.) // $(divnamedelivery-time-confirm span.delivery-time).html(40 Min) $(divnamedelivery-time-confirm span.delivery-time).addClass(d-none) // Bestellung abschließen Lieferadresse $(divnamedelivery_address).removeClass(d-none) $(divnamedelivery_address inputnamestreet).prop(required, true) $(divnamedelivery_address inputnamestreet_number).prop(required, true) $(divnamedelivery_address inputnamepostalcode).prop(required, true) $(divnamedelivery_address inputnamecity).prop(required, true) // Bestellung abschließen Coupon $(divnamecoupon).removeClass(d-none) } else { $(inameorder_type_icon).attr(class, fa-solid fa-person-walking) // $(spannametime_text_header).html(Abholzeit:) // $(spannametime_text).html(15 Minuten) // Modal Bestellabschluss $(divnamedelivery-time-confirm p).html(Sie erhalten gleich eine Bestellbestätigung.) // $(divnamedelivery-time-confirm span.delivery-time).removeClass(d-none) // $(divnamedelivery-time-confirm span.delivery-time).html(15 Min) // Bestellung abschließen Lieferadresse $(divnamedelivery_address).addClass(d-none) $(divnamedelivery_address inputnamestreet).prop(required, false) $(divnamedelivery_address inputnamestreet_number).prop(required, false) $(divnamedelivery_address inputnamepostalcode).prop(required, false) $(divnamedelivery_address inputnamecity).prop(required, false) // Bestellung abschließen Coupon $(divnamecoupon).addClass(d-none) } $(spannamedelivery_address).html(data.address) order_type data.order_type updateCartPrices(); hideShowSubtotals(); }, error: () > { UIkit.modal.alert(Es ist ein strong>Fehler/strong> aufgetreten!br />\ Bitte versuche es zu einem späteren Zeitpunkt erneut.); } }) } /script> !-- Falls Adress Modal versteckt wird --> script> UIkit.util.on(document, hide, #modal-address, function() { $(#modal-address nameselect-order-type).removeClass(d-none) $(#modal-address buttonnamemodal-address-start).attr(onclick, startDeliveryOrder()) $(#modal-address .street-number-alert).addClass(d-none) $(#modal-address .postalcode-alert).addClass(d-none) $(#modal-address #current-address).val() }); /script> !-- Warenkorb bearbeiten --> script> var order_type ; // Verstecken oder Anzeigen der Zwischensummen const hideShowSubtotals () > { // Falls Abholung, dann verstecken der Zwischensumme if (order_type pickup) { $(.shopping-cart .subtotals).addClass(d-none) } else { $(.shopping-cart .subtotals).removeClass(d-none) } } // Summe und Zwischensumme bearbeiten const updateCartPrices () > { console.log(updating prices) $.ajax({ type: POST, url: /order/, traditional: true, data: { getOrderPrices: getOrderPrices, csrfmiddlewaretoken: wUT1hkS91LXRc1vM0gjc7ZLjBLMUe4Yyj2wrzHonPn3WJcSRs9ShFH4D0ClfA2FP, }, success: (data) > { console.log(data) // Zwischensumme $(.shopping-cart namesubtotal).html(currencyFormatDE(data.subtotal)) $(.shopping-cart namesubtotal).parent().parent().attr(value, data.subtotal) // Mindermengenaufschlag $(.shopping-cart namemin_order_costs).html(currencyFormatDE(data.min_order_costs)) $(.shopping-cart namemin_order_costs).parent().parent().attr(value, data.min_order_costs) // Mindermengenaufschlag Hinweis $(.warning-note namemin_order_costs).html(currencyFormatDE(data.min_order_costs)) $(.warning-note namemin_order_costs).parent().parent().attr(value, data.min_order_costs) // Liefergebühr $(.shopping-cart namedelivery_costs).html(currencyFormatDE(data.delivery_costs)) $(.shopping-cart namedelivery_costs).parent().parent().attr(value, data.delivery_costs) // Trinkgeld $(.shopping-cart nametip).html(currencyFormatDE(data.tip)) $(.shopping-cart nametip).parent().parent().attr(value, data.tip) // Rabatt $(.shopping-cart namediscount).html(currencyFormatDE(data.discount)) $(.shopping-cart namediscount).parent().parent().attr(value, data.discount) // Summe $(nametotal).html(currencyFormatDE(data.total)) $(#total-sum).val(data.total) checkCartItems(data.items_amount); }, error: () > { UIkit.modal.alert(Es ist ein strong>Fehler/strong> aufgetreten!br />\ Bitte versuche es zu einem späteren Zeitpunkt erneut.); } }) } // Item Anzahl erhöhen const increaseItem (item_id) > { $.ajax({ type: POST, url: /order/, traditional: true, data: { increaseItem: increaseItem, item_id: item_id, csrfmiddlewaretoken: wUT1hkS91LXRc1vM0gjc7ZLjBLMUe4Yyj2wrzHonPn3WJcSRs9ShFH4D0ClfA2FP, }, success: (data) > { for (item of data.items) { $(.order-itemitem_id + item.id + nameamount).html(item.amount) $(.order-itemitem_id + item.id + nameprice).html(currencyFormatDE(item.price)) } updateCartPrices(); }, error: () > { UIkit.modal.alert(Es ist ein strong>Fehler/strong> aufgetreten!br />\ Bitte versuche es zu einem späteren Zeitpunkt erneut.); } }) } // Item Anzahl Senken const decreaseItem (item_id) > { $.ajax({ type: POST, url: /order/, traditional: true, data: { decreaseItem: decreaseItem, item_id: item_id, csrfmiddlewaretoken: wUT1hkS91LXRc1vM0gjc7ZLjBLMUe4Yyj2wrzHonPn3WJcSRs9ShFH4D0ClfA2FP, }, success: (data) > { // Falls die Anzahl auf 0 reduziert wird, wird der Artikel gelöscht if (data.delete_item) { for (item of data.items) { $(.order-itemitem_id + item.id + ).remove() } } else { for (item of data.items) { $(.order-itemitem_id + item.id + nameamount).html(item.amount) $(.order-itemitem_id + item.id + nameprice).html(currencyFormatDE(item.price)) } } updateCartPrices(); }, error: () > { UIkit.modal.alert(Es ist ein strong>Fehler/strong> aufgetreten!br />\ Bitte versuche es zu einem späteren Zeitpunkt erneut.); } }) } // Kommentar zum Item hinzufügen const addComment (item_id, obj) > { console.log(Add Comment) $(.order-itemitem_id + item_id + .comment-field).css(display, block); $(obj).html(Speichern i classfa-solid fa-floppy-disk>/i>) $(obj).attr(onclick, saveComment(+ item_id + , this)) } const saveComment (item_id, obj) > { let comment $(obj).parent().prev().children(nameitem-comment-field).val() console.log(comment) console.log(Kommentar) $.ajax({ type: POST, url: /order/, traditional: true, data: { saveComment: saveComment, item_id: item_id, comment: comment, csrfmiddlewaretoken: wUT1hkS91LXRc1vM0gjc7ZLjBLMUe4Yyj2wrzHonPn3WJcSRs9ShFH4D0ClfA2FP, }, success: (data) > { $(.order-itemitem_id + item_id + nameitem-comment).attr(value, comment) $(.order-itemitem_id + item_id + nameitem-comment).html(comment) $(.order-itemitem_id + item_id + .comment-field).css(display, ); $(obj).html(Anmerkung i classfa-solid fa-pen-to-square>/i>) $(obj).attr(onclick, addComment(+ item_id + , this)) $(.order-itemitem_id + item_id + nameitem-comment-field).val(comment) }, error: () > { UIkit.modal.alert(Es ist ein strong>Fehler/strong> aufgetreten!br />\ Bitte versuche es zu einem späteren Zeitpunkt erneut.); } }) } // Bereits hinzugefügte Items holen const getSelectedItems () > { $.ajax({ type: POST, url: /order/, traditional: true, data: { getSelectedItems: getSelectedItems, csrfmiddlewaretoken: wUT1hkS91LXRc1vM0gjc7ZLjBLMUe4Yyj2wrzHonPn3WJcSRs9ShFH4D0ClfA2FP, }, success: (data) > { for (item of data.items) { addItemToCart(item); } }, error: () > { UIkit.modal.alert(Es ist ein strong>Fehler/strong> aufgetreten!br />\ Bitte versuche es zu einem späteren Zeitpunkt erneut.); } }) } // Bestellbutton disabled const checkCartItems (items_amount) > { if (items_amount ! 0) { $(buttonnamesubmit-order).prop(disabled, false) } else { $(buttonnamesubmit-order).prop(disabled, true) } } /script> !-- Warenkorb --> script> // Mobilen Warenkorb anzeigen const showShoppingCart (obj) > { let shopping_cart $(.shopping-cart-mobile), sub_div $(shopping_cart).children()0, sub_div_height $(sub_div).outerHeight(); if (shopping_cart.hasClass(show)) { // Wenn Warenkorb bereits angezeigt ist $(obj).css(transform, ) $(shopping_cart).removeClass(show) $(sub_div).css(transform, ) $(body).removeClass(shopping-cart-mobile-show) } else { // Anzeigen des Warenkorbs $(obj).css(transform, rotate(-180deg)) $(shopping_cart).addClass(show) $(sub_div).css(transform, translateY(calc(-100%))) $(body).addClass(shopping-cart-mobile-show) } } // Item zum Warenkorb hinzufügen const addItemToCart (item) > { let subitems for (subitem of item.subitems) { subitems + li>span> + subitem.name + /span>/li> } // Plus Minus Buttons let buttons_template if (!item.menu_article) { buttons_template div>\ button classbtn btn-secondary btn-sm onclickdecreaseItem( + item.id + )>i classfa-solid fa-minus>/i>/button>\ button classbtn btn-secondary btn-sm onclickincreaseItem( + item.id + )>i classfa-solid fa-plus>/i>/button>\ /div> } // Artikelname mit Größe let name_template if (item.size ! ) { name_template p classname> + item.name + br />span>( + item.size + )/span>/p> } else { name_template p classname> + item.name + /p> } let template div classorder-item item_id + item.id + menu_id + item.menu_id + >\ div classrow>\ div classcol-8>\ div classrow>\ div classcol-12>\ div classd-flex>\ p classamount>span nameamount> + item.amount + /span> x/p>\ + name_template + \ /div>\ /div>\ div classcol-12>\ ul classsubitems namesubitems>\ + subitems +\ /ul>\ /div>\ /div>\ /div>\ div classcol-4 d-flex>\ p classprice uk-margin-auto-left mb-0>span nameprice> + currencyFormatDE(item.price) + /span> €/p>\ /div>\ /div>\ p classitem-comment m-0 nameitem-comment value + item.comment + > + item.comment + /p>\ div classcomment-field mb-2>\ textarea classw-100 uk-textarea nameitem-comment-field rows2 placeholderKommentar> + item.comment + /textarea>\ /div>\ div classbuttons>\ a hrefjavascript:void(0) onclickaddComment( + item.id + , this)>Anmerkung i classfa-solid fa-pen-to-square>/i>/a>\ + buttons_template + \ /div>\ /div> $(.shopping-cart .order-items).append(template) } /script> !-- Einloggen --> script> $(document).on(submit, #login_form, function (event) { event.preventDefault(); // Damit Seite nicht neu geladen wird loginUser(); }); const loginUser () > { let username $(#modal-login inputnameusername), password $(#modal-login inputnamepassword), input_alert $(pnamelogin-alert); $(input_alert).addClass(d-none); // Fehlende Werte überprüfen let missing_username false; if ($(username).val() ) { $(input_alert).removeClass(d-none); $(input_alert).html(Bitte Benutzername eingeben.); return false; } let missing_password false; if ($(password).val() ) { $(input_alert).removeClass(d-none); $(input_alert).html(Bitte Passwort eingeben.); return false; } // Post Ajax Request $.ajax({ type: POST, url: /user/, traditional: true, data: { loginUser: loginUser, username: $(username).val(), password: $(password).val(), csrfmiddlewaretoken: wUT1hkS91LXRc1vM0gjc7ZLjBLMUe4Yyj2wrzHonPn3WJcSRs9ShFH4D0ClfA2FP, }, success: (data) > { if (data.wrong_user) { $(input_alert).removeClass(d-none); $(input_alert).html(Der Benutzername ist falsch oder existiert nicht.); } else if (data.wrong_password) { $(input_alert).removeClass(d-none); $(input_alert).html(Das Passwort ist falsch.); } else { location.reload(); } }, error: () > { UIkit.modal.alert(Es ist ein strong>Fehler/strong> aufgetreten!br />\ Bitte versuche es zu einem späteren Zeitpunkt erneut.); } }) } // Benutzer ausloggen const logoutUser () > { $.ajax({ type: POST, url: /user/, traditional: true, data: { logoutUser: logoutUser, csrfmiddlewaretoken: wUT1hkS91LXRc1vM0gjc7ZLjBLMUe4Yyj2wrzHonPn3WJcSRs9ShFH4D0ClfA2FP, }, success: (data) > { location.reload(); }, error: () > { UIkit.modal.alert(Es ist ein strong>Fehler/strong> aufgetreten!br />\ Bitte versuche es zu einem späteren Zeitpunkt erneut.); } }) } // Passwort vergessen const forgotPassword () > { $(#modal-login nameheader).html(Passwort vergessen) $(#modal-login nameregister).addClass(d-none) $(#modal-login namepassword).addClass(d-none) $(#modal-login inputnamelogin-button).addClass(d-none) $(#modal-login inputnamereset-password-button).removeClass(d-none) $(#modal-login nameforgot-password-button).html(Einloggen) $(#modal-login nameforgot-password-button).attr(onclick, userLoginModal()) } const userLoginModal () > { $(#modal-login nameheader).html(Jetzt einloggen) $(#modal-login nameregister).removeClass(d-none) $(#modal-login namepassword).removeClass(d-none) $(#modal-login inputnamelogin-button).removeClass(d-none) $(#modal-login inputnamereset-password-button).addClass(d-none) $(#modal-login nameforgot-password-button).html(Passwort vergessen?) $(#modal-login nameforgot-password-button).attr(onclick, forgotPassword()) } const resetPassword () > { let username $(#modal-login inputnameusername), input_alert $(pnamelogin-alert); $(input_alert).addClass(d-none); // Fehlende Werte überprüfen let missing_username false; if ($(username).val() || !isEmail($(username).val())) { $(input_alert).removeClass(d-none); $(input_alert).html(Bitte ihre Email eingeben.); return false; } showLoadingScreen(Lädt) $.ajax({ type: POST, url: /user/, traditional: true, data: { resetPassword: resetPassword, username: $(username).val(), csrfmiddlewaretoken: wUT1hkS91LXRc1vM0gjc7ZLjBLMUe4Yyj2wrzHonPn3WJcSRs9ShFH4D0ClfA2FP, }, success: (data) > { hideLoadingScreen(, 100) if (data.username_exists) { $(#modal-login namesuccess-message).removeClass(d-none) } else { $(#modal-login namesuccess-message).addClass(d-none) $(input_alert).html(Diese Email existiert nicht.); $(input_alert).removeClass(d-none); } }, error: () > { hideLoadingScreen(, 0) UIkit.modal.alert(Es ist ein strong>Fehler/strong> aufgetreten!br />\ Bitte versuche es zu einem späteren Zeitpunkt erneut.); } }) } /script> !-- Registrieren --> script> $(document).on(submit, #register_form, function (event) { event.preventDefault(); // Damit Seite nicht neu geladen wird registerUser(); }); const registerUser () > { console.log(Register) let username $(#modal-register inputnameusername), password $(#modal-register inputnamepassword), password_confirm $(#modal-register inputnamepassword_confirm), register_alert $(#modal-register nameregister-alert); $(register_alert).addClass(d-none) $(username).removeClass(error-value) $(password).removeClass(error-value) $(password_confirm).removeClass(error-value) if (!isEmail($(username).val()) || $(username).val() ) { $(register_alert).removeClass(d-none) $(register_alert).html(Bitte E-Mail Adresse angeben.) $(username).addClass(error-value) return false; } if ($(password).val() ) { $(register_alert).removeClass(d-none) $(register_alert).html(Bitte ein Passwort eingeben.) $(password).addClass(error-value) return false; } if ($(password_confirm).val() || $(password).val() ! $(password_confirm).val()) { $(register_alert).removeClass(d-none) $(register_alert).html(Passwort stimmt nicht überein.) $(password_confirm).addClass(error-value) return false; } $.ajax({ type: POST, url: /user/, traditional: true, data: { registerUser: registerUser, username: $(username).val(), password: $(password).val(), csrfmiddlewaretoken: wUT1hkS91LXRc1vM0gjc7ZLjBLMUe4Yyj2wrzHonPn3WJcSRs9ShFH4D0ClfA2FP, }, success: (data) > { if (data.user_exists) { $(register_alert).removeClass(d-none) $(register_alert).html(Diese E-Mail existiert bereits.) $(username).addClass(error-value) } else { location.reload(); } }, error: () > { UIkit.modal.alert(Es ist ein strong>Fehler/strong> aufgetreten!br />\ Bitte versuche es zu einem späteren Zeitpunkt erneut.); } }) } /script> !-- Cookies akzeptieren --> script> const acceptCookies () > { $.ajax({ type: POST, url: /, traditional: true, data: { acceptCookies: acceptCookies, csrfmiddlewaretoken: wUT1hkS91LXRc1vM0gjc7ZLjBLMUe4Yyj2wrzHonPn3WJcSRs9ShFH4D0ClfA2FP, }, success: () > { $(#cookie-banner).remove() }, }) } /script> /body>/html>
View on OTX
|
View on ThreatMiner
Please enable JavaScript to view the
comments powered by Disqus.
Data with thanks to
AlienVault OTX
,
VirusTotal
,
Malwr
and
others
. [
Sitemap
]