diff --git a/i18n/de.toml b/i18n/de.toml
index ebd4cfa..bdd1884 100755
--- a/i18n/de.toml
+++ b/i18n/de.toml
@@ -26,3 +26,60 @@ rsvp_send = "Abschicken"
details_title = "Details"
footer_message = "Wir freuen uns darauf, mit euch zu feiern ❤️"
big_day = "Der große Tag ist da!"
+
+rsvp_personal_information = "Persönliche Informationen"
+
+rsvp_email_address = "E-Mail-Adresse"
+rsvp_phone = "Telefonnummer"
+rsvp_phone_whatsapp_hint = "Wird für die WhatsApp-Gruppe und Hochzeitsinformationen verwendet"
+
+rsvp_attendance = "Teilnahme"
+rsvp_attending_yes = "Ich nehme teil"
+rsvp_attending_no = "Ich kann leider nicht teilnehmen"
+
+rsvp_drinks_water = "Wasser"
+rsvp_drinks_cola = "Cola"
+rsvp_drinks_fanta = "Fanta"
+
+rsvp_diet = "Ernährungsweise"
+rsvp_diet_meat = "Fleisch"
+rsvp_diet_vegetarian = "Vegetarisch"
+rsvp_diet_vegan = "Vegan"
+
+rsvp_allergy_gluten = "Gluten"
+rsvp_allergy_lactose = "Laktose"
+rsvp_allergy_nuts = "Nüsse"
+rsvp_allergy_other = "Sonstiges"
+rsvp_allergy_details = "Weitere Details zu Allergien"
+
+rsvp_organization = "Organisation"
+rsvp_parking_needed = "Ich benötige einen Parkplatz"
+rsvp_ride_needed = "Ich benötige eine Mitfahrgelegenheit"
+rsvp_ride_offer = "Ich kann eine Mitfahrgelegenheit anbieten"
+rsvp_hotel = "Ich übernachte im Hotel"
+rsvp_hotel_booked = "Mein Hotel ist bereits gebucht"
+
+rsvp_memories = "Erinnerungen & Extras"
+rsvp_memory_card = "Ich möchte eine Grußkarte zur Erinnerung erhalten"
+rsvp_photo_link = "Ich möchte den Link zu den Hochzeitsfotos erhalten"
+
+rsvp_entertainment = "Unterhaltung"
+rsvp_music_request = "Musikwunsch"
+
+rsvp_contribution = "Ich möchte etwas beitragen"
+rsvp_contribution_speech = "Rede"
+rsvp_contribution_game = "Spiel"
+rsvp_contribution_surprise = "Überraschung"
+rsvp_contribution_other = "Sonstiges"
+
+rsvp_children = "Kinder"
+rsvp_children_count = "Anzahl der Kinder"
+rsvp_children_ages = "Alter der Kinder"
+
+rsvp_message = "Nachricht an das Brautpaar"
+
+rsvp_privacy = "Datenschutz"
+rsvp_privacy_accept = "Ich stimme zu, dass meine Angaben für die Hochzeitsplanung gespeichert und verarbeitet werden dürfen."
+
+yes = "Ja"
+no = "Nein"
diff --git a/i18n/en.toml b/i18n/en.toml
index b1ef2ac..5b41082 100755
--- a/i18n/en.toml
+++ b/i18n/en.toml
@@ -26,3 +26,60 @@ rsvp_send = "Send"
details_title = "Details"
footer_message = "We look forward to celebrating with you ❤️"
big_day = "The big day is here!"
+
+rsvp_personal_information = "Personal Information"
+
+rsvp_email_address = "Email Address"
+rsvp_phone = "Phone Number"
+rsvp_phone_whatsapp_hint = "Used for the WhatsApp group and wedding updates"
+
+rsvp_attendance = "Attendance"
+rsvp_attending_yes = "I will attend"
+rsvp_attending_no = "I cannot attend"
+
+rsvp_drinks_water = "Water"
+rsvp_drinks_cola = "Cola"
+rsvp_drinks_fanta = "Fanta"
+
+rsvp_diet = "Dietary Preference"
+rsvp_diet_meat = "Meat"
+rsvp_diet_vegetarian = "Vegetarian"
+rsvp_diet_vegan = "Vegan"
+
+rsvp_allergy_gluten = "Gluten"
+rsvp_allergy_lactose = "Lactose"
+rsvp_allergy_nuts = "Nuts"
+rsvp_allergy_other = "Other"
+rsvp_allergy_details = "Additional allergy details"
+
+rsvp_organization = "Organization"
+rsvp_parking_needed = "I need a parking space"
+rsvp_ride_needed = "I need a ride"
+rsvp_ride_offer = "I can offer a ride"
+rsvp_hotel = "I will stay in a hotel"
+rsvp_hotel_booked = "My hotel is already booked"
+
+rsvp_memories = "Memories & Extras"
+rsvp_memory_card = "I would like a keepsake greeting card"
+rsvp_photo_link = "I would like to receive the wedding photo gallery link"
+
+rsvp_entertainment = "Entertainment"
+rsvp_music_request = "Song request"
+
+rsvp_contribution = "I would like to contribute"
+rsvp_contribution_speech = "Speech"
+rsvp_contribution_game = "Game"
+rsvp_contribution_surprise = "Surprise"
+rsvp_contribution_other = "Other"
+
+rsvp_children = "Children"
+rsvp_children_count = "Number of children"
+rsvp_children_ages = "Age(s) of the children"
+
+rsvp_message = "Message to the Bride & Groom"
+
+rsvp_privacy = "Privacy"
+rsvp_privacy_accept = "I agree that my information may be stored and used for wedding planning."
+
+yes = "Yes"
+no = "No"
diff --git a/i18n/ru.toml b/i18n/ru.toml
index 819c090..791f457 100755
--- a/i18n/ru.toml
+++ b/i18n/ru.toml
@@ -26,3 +26,60 @@ rsvp_send = "Отправить"
details_title = "Детали"
footer_message = "❤️ Мы с нетерпением ждем встречи с вами ❤️"
big_day = "Наступил великий день!"
+
+rsvp_personal_information = "Личная информация"
+
+rsvp_email_address = "Адрес электронной почты"
+rsvp_phone = "Номер телефона"
+rsvp_phone_whatsapp_hint = "Используется для группы WhatsApp и свадебных уведомлений"
+
+rsvp_attendance = "Участие"
+rsvp_attending_yes = "Я буду присутствовать"
+rsvp_attending_no = "К сожалению, я не смогу присутствовать"
+
+rsvp_drinks_water = "Вода"
+rsvp_drinks_cola = "Coca-Cola"
+rsvp_drinks_fanta = "Fanta"
+
+rsvp_diet = "Предпочтения в питании"
+rsvp_diet_meat = "Мясо"
+rsvp_diet_vegetarian = "Вегетарианское"
+rsvp_diet_vegan = "Веганское"
+
+rsvp_allergy_gluten = "Глютен"
+rsvp_allergy_lactose = "Лактоза"
+rsvp_allergy_nuts = "Орехи"
+rsvp_allergy_other = "Другое"
+rsvp_allergy_details = "Дополнительная информация об аллергиях"
+
+rsvp_organization = "Организация"
+rsvp_parking_needed = "Мне требуется парковочное место"
+rsvp_ride_needed = "Мне нужна помощь с поездкой"
+rsvp_ride_offer = "Я могу предложить место в машине"
+rsvp_hotel = "Я остановлюсь в отеле"
+rsvp_hotel_booked = "Отель уже забронирован"
+
+rsvp_memories = "Памятные материалы и дополнения"
+rsvp_memory_card = "Я хотел(а) бы получить памятную открытку"
+rsvp_photo_link = "Я хотел(а) бы получить ссылку на свадебные фотографии"
+
+rsvp_entertainment = "Развлечения"
+rsvp_music_request = "Музыкальное пожелание"
+
+rsvp_contribution = "Я хотел(а) бы внести свой вклад"
+rsvp_contribution_speech = "Речь"
+rsvp_contribution_game = "Игра"
+rsvp_contribution_surprise = "Сюрприз"
+rsvp_contribution_other = "Другое"
+
+rsvp_children = "Дети"
+rsvp_children_count = "Количество детей"
+rsvp_children_ages = "Возраст детей"
+
+rsvp_message = "Сообщение молодожёнам"
+
+rsvp_privacy = "Конфиденциальность"
+rsvp_privacy_accept = "Я согласен(согласна) на хранение и обработку моих данных для организации свадьбы."
+
+yes = "Да"
+no = "Нет"
diff --git a/layouts/_default/wedding-bkp.html b/layouts/_default/wedding-bkp.html
new file mode 100755
index 0000000..43f24dd
--- /dev/null
+++ b/layouts/_default/wedding-bkp.html
@@ -0,0 +1,237 @@
+{{ define "content" }}
+
+
+
+
+{{ partial "audio.html" . }}
+
+
+
+
{{ i18n "countdown_title" }}
+
+
+
+
+
+

+
{{ .Title }}
+
+ {{ .Params.event.date | time | time.Format ":date_long" }}
+
+
+
+
+ {{ if .Content }}
+
+ {{ .Content }}
+
+ {{ end }}
+
+
+
+
📅 {{ i18n "event_title" }}
+{{ with .Params.event.date }}
+
+ {{ i18n "ceremony" }}:
+ {{ . | time | time.Format ":date_long" }}{{ with $.Params.event.ceremony_time }}, {{ i18n "ceremony_time" }} {{ . }}
+ {{ end }}
+
+{{ end }}
+{{ with .Params.event.reception_time }}
+
{{ i18n "reception" }}: {{ . }}
+ {{ end }}
+ {{ with .Params.event.venue }}
+
{{ i18n "location" }}: {{ . }}
+ {{ end }}
+
+
+
+ {{ with .Params.event.map_embed }}
+
+
📍 {{ i18n "location" }}
+ {{ . | safeHTML }}
+
+ {{ end }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
📝 {{ i18n "rsvp_title" }}
+ {{ with .Params.rsvp.deadline }}
+
{{ i18n "rsvp_deadline" }} {{ . }}.
+ {{ end }}
+ {{ with .Params.rsvp.email }}
+
{{ i18n "rsvp_email" }}: {{ partial "obfuscate_email.html" . }}
+ {{ end }}
+
+
+
+
+
+ {{ with .Params.details }}
+
+
ℹ️ {{ i18n "details_title" }}
+
{{ . }}
+
+ {{ end }}
+
+
+
+
+
+
+
+{{ end }}
diff --git a/layouts/_default/wedding.html b/layouts/_default/wedding.html
index 43f24dd..d948a41 100755
--- a/layouts/_default/wedding.html
+++ b/layouts/_default/wedding.html
@@ -138,19 +138,7 @@ body {
{{ end }}
-
-
-
-
-
-
-
-
-
-
-
-
-
📝 {{ i18n "rsvp_title" }}
+
📝 {{ i18n "rsvp_title" }}
{{ with .Params.rsvp.deadline }}
{{ i18n "rsvp_deadline" }} {{ . }}.
{{ end }}
@@ -158,36 +146,199 @@ body {
{{ i18n "rsvp_email" }}: {{ partial "obfuscate_email.html" . }}
{{ end }}
-
+
+
-
-
{{ with .Params.details }}
diff --git a/layouts/_default/wedding.sync-conflict-20260617-181729-OO2YWYI.html b/layouts/_default/wedding.sync-conflict-20260617-181729-OO2YWYI.html
new file mode 100755
index 0000000..43f24dd
--- /dev/null
+++ b/layouts/_default/wedding.sync-conflict-20260617-181729-OO2YWYI.html
@@ -0,0 +1,237 @@
+{{ define "content" }}
+
+
+
+
+{{ partial "audio.html" . }}
+
+
+
+
{{ i18n "countdown_title" }}
+
+
+
+
+
+

+
{{ .Title }}
+
+ {{ .Params.event.date | time | time.Format ":date_long" }}
+
+
+
+
+ {{ if .Content }}
+
+ {{ .Content }}
+
+ {{ end }}
+
+
+
+
📅 {{ i18n "event_title" }}
+{{ with .Params.event.date }}
+
+ {{ i18n "ceremony" }}:
+ {{ . | time | time.Format ":date_long" }}{{ with $.Params.event.ceremony_time }}, {{ i18n "ceremony_time" }} {{ . }}
+ {{ end }}
+
+{{ end }}
+{{ with .Params.event.reception_time }}
+
{{ i18n "reception" }}: {{ . }}
+ {{ end }}
+ {{ with .Params.event.venue }}
+
{{ i18n "location" }}: {{ . }}
+ {{ end }}
+
+
+
+ {{ with .Params.event.map_embed }}
+
+
📍 {{ i18n "location" }}
+ {{ . | safeHTML }}
+
+ {{ end }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ with .Params.details }}
+
+
ℹ️ {{ i18n "details_title" }}
+
{{ . }}
+
+ {{ end }}
+
+
+
+
+
+
+
+{{ end }}
diff --git a/layouts/_default/wedding.sync-conflict-20260617-181859-OO2YWYI.html b/layouts/_default/wedding.sync-conflict-20260617-181859-OO2YWYI.html
new file mode 100755
index 0000000..d24fdec
--- /dev/null
+++ b/layouts/_default/wedding.sync-conflict-20260617-181859-OO2YWYI.html
@@ -0,0 +1,380 @@
+{{ define "content" }}
+
+
+
+
+
+
+{{ end }}
diff --git a/layouts/shortcodes/email.html b/layouts/shortcodes/email.html
old mode 100644
new mode 100755
diff --git a/public/404.html b/public/404.html
old mode 100644
new mode 100755
index 3878c10..bdd1408
--- a/public/404.html
+++ b/public/404.html
@@ -1,7 +1,7 @@
-
+
Markin Stefan
@@ -16,21 +16,21 @@
-
-
-
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
-
+
@@ -40,7 +40,7 @@
-
+
@@ -50,7 +50,7 @@
-
+
@@ -99,7 +99,7 @@
-
-
-
-
-
-
-
-
-
-
@@ -497,7 +625,7 @@ btn.addEventListener("click", async () => {
-
+
diff --git a/public/de/index.html b/public/de/index.html
old mode 100644
new mode 100755
index 4b05edb..1fdae4a
--- a/public/de/index.html
+++ b/public/de/index.html
@@ -1,7 +1,7 @@
-
+
Markin Stefan
@@ -16,21 +16,21 @@
-
-
-
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
-
+
@@ -40,7 +40,7 @@
-
+
@@ -50,7 +50,7 @@
-
+
@@ -74,7 +74,7 @@
-
+
@@ -101,7 +101,7 @@
-
+
Markin Stefan
@@ -232,7 +232,7 @@
-
+
diff --git a/public/de/index.xml b/public/de/index.xml
old mode 100644
new mode 100755
index 39003a8..fa99adf
--- a/public/de/index.xml
+++ b/public/de/index.xml
@@ -1,39 +1,43 @@
-
- Markin Stefan
- http://markinstefan.xyz/de/
- Recent content on Markin Stefan
- Hugo
- de
-
- -
- Hochzeit von Stefan und Mariia
- http://markinstefan.xyz/de/hochzeit/
- Mon, 01 Jan 0001 00:00:00 +0000
- http://markinstefan.xyz/de/hochzeit/
- <p>Wir freuen uns, Euch zu unserer Hochzeit von Stefan und Mariia einzuladen!</p>
<p>Feiern Sie mit uns diesen besonderen Tag voller Liebe, Freude und wundervoller Erinnerungen!</p>
<p>Wir freuen uns darauf, Sie dort zu sehen!</p>
-
- -
- Kontakt
- http://markinstefan.xyz/de/contact/
- Mon, 01 Jan 0001 00:00:00 +0000
- http://markinstefan.xyz/de/contact/
- <p>Wenn Sie meine Telefonnummer haben, <strong>nur</strong> über:</p>
<ul>
<li>SMS</li>
<li>Direkt anrufen</li>
<li><a href="https://signal.org/" class="external-link" target="_blank" rel="noopener">Signal</a></li>
</ul>
<p>Ich nutze <strong>kein</strong> WhatsApp oder Telegram oder sonst noch was <strong>für persönliche Gespräche</strong>. <br>
Schreiben Sie mir unter eines der Drei-Genannten Empfehlungen.</p>
-
- -
- Weiterleitung zum Gitea-Profil
- http://markinstefan.xyz/de/about/
- Mon, 01 Jan 0001 00:00:00 +0000
- http://markinstefan.xyz/de/about/
-
-
- -
- Weiterleitung zum Gitea-Repository
- http://markinstefan.xyz/de/projects/
- Mon, 01 Jan 0001 00:00:00 +0000
- http://markinstefan.xyz/de/projects/
-
-
-
+
+ Markin Stefan
+ http://localhost:1313/de/
+ Recent content on Markin Stefan
+ Hugo
+ de
+
+
+
+
+
+ -
+ Hochzeit von Stefan und Mariia
+ http://localhost:1313/de/hochzeit/
+ Mon, 01 Jan 0001 00:00:00 +0000
+ http://localhost:1313/de/hochzeit/
+ <p>Wir freuen uns, Euch zu unserer Hochzeit von Stefan und Mariia einzuladen!</p>
<p>Feiern Sie mit uns diesen besonderen Tag voller Liebe, Freude und wundervoller Erinnerungen!</p>
<p>Wir freuen uns darauf, Sie dort zu sehen!</p>
+
+ -
+ Kontakt
+ http://localhost:1313/de/contact/
+ Mon, 01 Jan 0001 00:00:00 +0000
+ http://localhost:1313/de/contact/
+ <p>Wenn Sie meine Telefonnummer haben, <strong>nur</strong> über:</p>
<ul>
<li>SMS</li>
<li>Direkt anrufen</li>
<li><a href="https://signal.org/" class="external-link" target="_blank" rel="noopener">Signal</a></li>
</ul>
<p>Ich nutze <strong>kein</strong> WhatsApp oder Telegram oder sonst noch was <strong>für persönliche Gespräche</strong>. <br>
Schreiben Sie mir unter eines der Drei-Genannten Empfehlungen.</p>
+
+ -
+ Weiterleitung zum Gitea-Profil
+ http://localhost:1313/de/about/
+ Mon, 01 Jan 0001 00:00:00 +0000
+ http://localhost:1313/de/about/
+
+
+ -
+ Weiterleitung zum Gitea-Repository
+ http://localhost:1313/de/projects/
+ Mon, 01 Jan 0001 00:00:00 +0000
+ http://localhost:1313/de/projects/
+
+
+
diff --git a/public/de/mariia-und-stefan/index.html b/public/de/mariia-und-stefan/index.html
old mode 100644
new mode 100755
index 8a32c2d..dc55f1c
--- a/public/de/mariia-und-stefan/index.html
+++ b/public/de/mariia-und-stefan/index.html
@@ -1,9 +1,9 @@
-
- http://markinstefan.xyz/de/hochzeit/
-
-
-
-
+
+ http://localhost:1313/de/hochzeit/
+
+
+
+
diff --git a/public/de/projects/index.html b/public/de/projects/index.html
old mode 100644
new mode 100755
index 7bc9a35..d91b2e6
--- a/public/de/projects/index.html
+++ b/public/de/projects/index.html
@@ -1,7 +1,7 @@
-
+
Markin Stefan
@@ -16,21 +16,21 @@
-
-
-
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
-
+
@@ -40,7 +40,7 @@
-
+
@@ -50,7 +50,7 @@
-
+
@@ -99,7 +99,7 @@
-
+
Markin Stefan
@@ -195,7 +195,7 @@
-
+
diff --git a/public/de/series/index.html b/public/de/series/index.html
old mode 100644
new mode 100755
index 06c62b4..3c59ed2
--- a/public/de/series/index.html
+++ b/public/de/series/index.html
@@ -1,7 +1,7 @@
-
+
Serien · Markin Stefan
@@ -16,21 +16,21 @@
-
-
-
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
-
+
@@ -40,7 +40,7 @@
-
+
@@ -50,7 +50,7 @@
-
+
@@ -100,7 +100,7 @@
-
+
Markin Stefan
@@ -137,14 +137,14 @@
- 🇷🇺
+ 🇬🇧
- 🇬🇧
+ 🇷🇺
@@ -160,7 +160,7 @@
@@ -198,7 +198,7 @@
-
+
diff --git a/public/de/series/index.xml b/public/de/series/index.xml
old mode 100644
new mode 100755
index 6b23e9f..7303596
--- a/public/de/series/index.xml
+++ b/public/de/series/index.xml
@@ -1,11 +1,15 @@
-
- Series on Markin Stefan
- http://markinstefan.xyz/de/series/
- Recent content in Series on Markin Stefan
- Hugo
- de
-
-
+
+ Series on Markin Stefan
+ http://localhost:1313/de/series/
+ Recent content in Series on Markin Stefan
+ Hugo
+ de
+
+
+
+
+
+
diff --git a/public/de/series/page/1/index.html b/public/de/series/page/1/index.html
old mode 100644
new mode 100755
index 27fc5fa..dcdbb79
--- a/public/de/series/page/1/index.html
+++ b/public/de/series/page/1/index.html
@@ -1,9 +1,9 @@
-
- http://markinstefan.xyz/de/series/
-
-
-
-
+
+ http://localhost:1313/de/series/
+
+
+
+
diff --git a/public/de/sitemap.xml b/public/de/sitemap.xml
old mode 100644
new mode 100755
index 54b6d5d..26d44f4
--- a/public/de/sitemap.xml
+++ b/public/de/sitemap.xml
@@ -2,157 +2,157 @@
- http://markinstefan.xyz/de/authors/
+ http://localhost:1313/de/authors/
+
-
- http://markinstefan.xyz/de/categories/
+ http://localhost:1313/de/categories/
+
-
- http://markinstefan.xyz/de/hochzeit/
+ http://localhost:1313/de/hochzeit/
+
-
- http://markinstefan.xyz/de/contact/
+ http://localhost:1313/de/contact/
-
+
- http://markinstefan.xyz/de/
+ http://localhost:1313/de/
+
-
- http://markinstefan.xyz/de/series/
+ http://localhost:1313/de/series/
- http://markinstefan.xyz/de/tags/
+ http://localhost:1313/de/tags/
+
-
- http://markinstefan.xyz/de/about/
+ http://localhost:1313/de/about/
-
+
- http://markinstefan.xyz/de/projects/
+ http://localhost:1313/de/projects/
-
+
diff --git a/public/de/tags/index.html b/public/de/tags/index.html
old mode 100644
new mode 100755
index abb8192..b3674c4
--- a/public/de/tags/index.html
+++ b/public/de/tags/index.html
@@ -1,7 +1,7 @@
-
+
Tags · Markin Stefan
@@ -16,21 +16,21 @@
-
-
-
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
-
+
@@ -40,7 +40,7 @@
-
+
@@ -50,7 +50,7 @@
-
+
@@ -100,7 +100,7 @@
-
+
Markin Stefan
@@ -160,7 +160,7 @@
@@ -198,7 +198,7 @@
-
+
diff --git a/public/de/tags/index.xml b/public/de/tags/index.xml
old mode 100644
new mode 100755
index da8589a..7460d61
--- a/public/de/tags/index.xml
+++ b/public/de/tags/index.xml
@@ -1,11 +1,15 @@
-
- Tags on Markin Stefan
- http://markinstefan.xyz/de/tags/
- Recent content in Tags on Markin Stefan
- Hugo
- de
-
-
+
+ Tags on Markin Stefan
+ http://localhost:1313/de/tags/
+ Recent content in Tags on Markin Stefan
+ Hugo
+ de
+
+
+
+
+
+
diff --git a/public/de/tags/page/1/index.html b/public/de/tags/page/1/index.html
old mode 100644
new mode 100755
index d978047..7b3b737
--- a/public/de/tags/page/1/index.html
+++ b/public/de/tags/page/1/index.html
@@ -1,9 +1,9 @@
-
- http://markinstefan.xyz/de/tags/
-
-
-
-
+
+ http://localhost:1313/de/tags/
+
+
+
+
diff --git a/public/en/index.html b/public/en/index.html
old mode 100644
new mode 100755
index d60793c..34b3523
--- a/public/en/index.html
+++ b/public/en/index.html
@@ -1,9 +1,9 @@
-
- http://markinstefan.xyz/
-
-
-
-
+
+ http://localhost:1313/
+
+
+
+
diff --git a/public/en/sitemap.xml b/public/en/sitemap.xml
old mode 100644
new mode 100755
index 669ccc1..9ab06d4
--- a/public/en/sitemap.xml
+++ b/public/en/sitemap.xml
@@ -2,157 +2,157 @@
- http://markinstefan.xyz/authors/
+ http://localhost:1313/authors/
-
+
- http://markinstefan.xyz/categories/
+ http://localhost:1313/categories/
-
+
- http://markinstefan.xyz/contact/
+ http://localhost:1313/contact/
+
-
- http://markinstefan.xyz/
+ http://localhost:1313/
-
+
- http://markinstefan.xyz/wedding/
+ http://localhost:1313/wedding/
-
+
- http://markinstefan.xyz/about/
+ http://localhost:1313/about/
+
-
- http://markinstefan.xyz/projects/
+ http://localhost:1313/projects/
+
-
- http://markinstefan.xyz/series/
-
+ http://localhost:1313/series/
+
- http://markinstefan.xyz/tags/
-
+ http://localhost:1313/tags/
+
diff --git a/public/index.html b/public/index.html
old mode 100644
new mode 100755
index 0379814..b2593d4
--- a/public/index.html
+++ b/public/index.html
@@ -1,7 +1,7 @@
-
+
Markin Stefan
@@ -16,21 +16,21 @@
-
-
-
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
-
+
@@ -40,7 +40,7 @@
-
+
@@ -50,7 +50,7 @@
-
+
@@ -74,7 +74,7 @@
-
+
@@ -101,7 +101,7 @@
-
+
Markin Stefan
@@ -232,7 +232,7 @@
-
+
diff --git a/public/index.xml b/public/index.xml
old mode 100644
new mode 100755
index e660732..9269b41
--- a/public/index.xml
+++ b/public/index.xml
@@ -1,39 +1,43 @@
-
- Markin Stefan
- http://markinstefan.xyz/
- Recent content on Markin Stefan
- Hugo
- en
-
- -
- Contact
- http://markinstefan.xyz/contact/
- Mon, 01 Jan 0001 00:00:00 +0000
- http://markinstefan.xyz/contact/
- <p>If you have my phone number, <strong>only</strong> through:</p>
<ul>
<li>SMS</li>
<li>Directly calling</li>
<li><a href="https://signal.org/" class="external-link" target="_blank" rel="noopener">Signal</a></li>
</ul>
<p>I do <strong>not</strong> use WhatsApp or Telegram <strong>for personal conversations</strong>.<br>
Write to me using one of the three recommendations mentioned.</p>
-
- -
- Marriage of Stefan and Mariia
- http://markinstefan.xyz/wedding/
- Mon, 01 Jan 0001 00:00:00 +0000
- http://markinstefan.xyz/wedding/
- <p>We are happy to invite you to our wedding of Stefan and Mariia!</p>
<p>Join us in celebrating this special day with love, joy, and wonderful memories.</p>
<p>We look forward to seeing you there!</p>
-
- -
- Redirecting to Gitea Profile
- http://markinstefan.xyz/about/
- Mon, 01 Jan 0001 00:00:00 +0000
- http://markinstefan.xyz/about/
-
-
- -
- Redirecting to Gitea Repository
- http://markinstefan.xyz/projects/
- Mon, 01 Jan 0001 00:00:00 +0000
- http://markinstefan.xyz/projects/
-
-
-
+
+ Markin Stefan
+ http://localhost:1313/
+ Recent content on Markin Stefan
+ Hugo
+ en
+
+
+
+
+
+ -
+ Contact
+ http://localhost:1313/contact/
+ Mon, 01 Jan 0001 00:00:00 +0000
+ http://localhost:1313/contact/
+ <p>If you have my phone number, <strong>only</strong> through:</p>
<ul>
<li>SMS</li>
<li>Directly calling</li>
<li><a href="https://signal.org/" class="external-link" target="_blank" rel="noopener">Signal</a></li>
</ul>
<p>I do <strong>not</strong> use WhatsApp or Telegram <strong>for personal conversations</strong>.<br>
Write to me using one of the three recommendations mentioned.</p>
+
+ -
+ Marriage of Stefan and Mariia
+ http://localhost:1313/wedding/
+ Mon, 01 Jan 0001 00:00:00 +0000
+ http://localhost:1313/wedding/
+ <p>We are happy to invite you to our wedding of Stefan and Mariia!</p>
<p>Join us in celebrating this special day with love, joy, and wonderful memories.</p>
<p>We look forward to seeing you there!</p>
+
+ -
+ Redirecting to Gitea Profile
+ http://localhost:1313/about/
+ Mon, 01 Jan 0001 00:00:00 +0000
+ http://localhost:1313/about/
+
+
+ -
+ Redirecting to Gitea Repository
+ http://localhost:1313/projects/
+ Mon, 01 Jan 0001 00:00:00 +0000
+ http://localhost:1313/projects/
+
+
+
diff --git a/public/js/coder.js b/public/js/coder.js
old mode 100644
new mode 100755
diff --git a/public/js/coder.min.6ae284be93d2d19dad1f02b0039508d9aab3180a12a06dcc71b0b0ef7825a317.js b/public/js/coder.min.6ae284be93d2d19dad1f02b0039508d9aab3180a12a06dcc71b0b0ef7825a317.js
old mode 100644
new mode 100755
diff --git a/public/mariia-and-stefan/index.html b/public/mariia-and-stefan/index.html
old mode 100644
new mode 100755
index 5b7df36..e90aebc
--- a/public/mariia-and-stefan/index.html
+++ b/public/mariia-and-stefan/index.html
@@ -1,9 +1,9 @@
-
- http://markinstefan.xyz/wedding/
-
-
-
-
+
+ http://localhost:1313/wedding/
+
+
+
+
diff --git a/public/projects/index.html b/public/projects/index.html
old mode 100644
new mode 100755
index f978524..7ac9b5e
--- a/public/projects/index.html
+++ b/public/projects/index.html
@@ -1,7 +1,7 @@
-
+
Markin Stefan
@@ -16,21 +16,21 @@
-
-
-
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
-
+
@@ -40,7 +40,7 @@
-
+
@@ -50,7 +50,7 @@
-
+
@@ -99,7 +99,7 @@
-
+
Markin Stefan
@@ -195,7 +195,7 @@
-
+
diff --git a/public/rsvp-submit-bkp.php b/public/rsvp-submit-bkp.php
new file mode 100755
index 0000000..fe4cf5a
--- /dev/null
+++ b/public/rsvp-submit-bkp.php
@@ -0,0 +1,58 @@
+safeLoad();
+
+// Get form values
+$first_name = $_POST['first_name'] ?? '';
+$last_name = $_POST['last_name'] ?? '';
+$name = trim("$first_name $last_name") ?: 'No Name';
+
+// Drinks can be an array
+$drinks = $_POST['drinks'] ?? 'None';
+if (is_array($drinks)) {
+ $drinks = implode(', ', $drinks);
+}
+
+// Allergies
+$allergies = $_POST['allergies'] ?? 'None';
+
+// Convert to UTF-8
+$name = mb_convert_encoding($name, 'UTF-8', 'auto');
+$drinks = mb_convert_encoding($drinks, 'UTF-8', 'auto');
+$allergies = mb_convert_encoding($allergies, 'UTF-8', 'auto');
+
+// PHPMailer setup
+$mail = new PHPMailer(true);
+try {
+ $mail->CharSet = 'UTF-8';
+ $mail->isSMTP();
+ $mail->Host = $_ENV['SMTP_HOST'];
+ $mail->SMTPAuth = true;
+ $mail->Username = $_ENV['SMTP_USER'];
+ $mail->Password = $_ENV['SMTP_PASS'];
+ $mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS;
+ $mail->Port = (int)$_ENV['SMTP_PORT'];
+
+ $mail->setFrom($_ENV['FROM_EMAIL'], $_ENV['FROM_NAME']);
+ $mail->addAddress($_ENV['TO_EMAIL']);
+
+ $mail->Subject = mb_encode_mimeheader("New Wedding Guest: $name", 'UTF-8');
+
+ $body = <<Body = $body;
+ $mail->send();
+
+ echo 'RSVP submitted successfully.';
+} catch (Exception $e) {
+ echo "RSVP could not be sent. Mailer Error: {$mail->ErrorInfo}";
+}
diff --git a/public/rsvp-submit.php b/public/rsvp-submit.php
index fe4cf5a..66e06c5 100755
--- a/public/rsvp-submit.php
+++ b/public/rsvp-submit.php
@@ -1,5 +1,6 @@
safeLoad();
-// Get form values
-$first_name = $_POST['first_name'] ?? '';
-$last_name = $_POST['last_name'] ?? '';
-$name = trim("$first_name $last_name") ?: 'No Name';
-
-// Drinks can be an array
-$drinks = $_POST['drinks'] ?? 'None';
-if (is_array($drinks)) {
- $drinks = implode(', ', $drinks);
+function checkboxArrayToString($value)
+{
+ if (is_array($value) && count($value) > 0) {
+ return implode(', ', $value);
+ }
+ return 'None';
}
+function yesNo($value)
+{
+ return !empty($value) ? 'Yes' : 'No';
+}
+
+// Honeypot spam protection
+if (!empty($_POST['website'])) {
+ exit('Spam detected.');
+}
+
+// Privacy consent required
+if (empty($_POST['privacy'])) {
+ exit('Privacy consent required.');
+}
+
+// Personal
+$first_name = trim($_POST['first_name'] ?? '');
+$last_name = trim($_POST['last_name'] ?? '');
+$name = trim("$first_name $last_name");
+
+$email = trim($_POST['email'] ?? '');
+$phone = trim($_POST['phone'] ?? '');
+
+// Attendance
+$attendance = $_POST['attendance'] ?? 'Unknown';
+
+// Drinks
+$drinks = checkboxArrayToString($_POST['drinks'] ?? []);
+
+// Diet
+$diet = $_POST['diet'] ?? 'Not specified';
+
// Allergies
-$allergies = $_POST['allergies'] ?? 'None';
+$allergies = checkboxArrayToString($_POST['allergies'] ?? []);
+$allergies_other = trim($_POST['allergies_other'] ?? '');
-// Convert to UTF-8
-$name = mb_convert_encoding($name, 'UTF-8', 'auto');
-$drinks = mb_convert_encoding($drinks, 'UTF-8', 'auto');
-$allergies = mb_convert_encoding($allergies, 'UTF-8', 'auto');
+// Organization
+$parking = yesNo($_POST['parking'] ?? '');
+$ride_needed = yesNo($_POST['ride_needed'] ?? '');
+$ride_offer = yesNo($_POST['ride_offer'] ?? '');
+$hotel = yesNo($_POST['hotel'] ?? '');
+$hotel_booked = yesNo($_POST['hotel_booked'] ?? '');
+
+// Memories
+$memory_card = yesNo($_POST['memory_card'] ?? '');
+$photo_link = yesNo($_POST['photo_link'] ?? '');
+
+// Entertainment
+$music_request = trim($_POST['music_request'] ?? '');
+$contribution = checkboxArrayToString($_POST['contribution'] ?? []);
+
+// Children
+$children = $_POST['children'] ?? 'No';
+$children_count = trim($_POST['children_count'] ?? '');
+$children_ages = trim($_POST['children_ages'] ?? '');
+
+// Message
+$message = trim($_POST['message'] ?? '');
+
+// UTF-8 conversion
+$fields = [
+ &$name,
+ &$email,
+ &$phone,
+ &$attendance,
+ &$drinks,
+ &$diet,
+ &$allergies,
+ &$allergies_other,
+ &$music_request,
+ &$contribution,
+ &$children,
+ &$children_count,
+ &$children_ages,
+ &$message
+];
+
+foreach ($fields as &$field) {
+ $field = mb_convert_encoding($field, 'UTF-8', 'auto');
+}
-// PHPMailer setup
$mail = new PHPMailer(true);
+
try {
+
$mail->CharSet = 'UTF-8';
+
$mail->isSMTP();
$mail->Host = $_ENV['SMTP_HOST'];
$mail->SMTPAuth = true;
@@ -41,18 +114,91 @@ try {
$mail->setFrom($_ENV['FROM_EMAIL'], $_ENV['FROM_NAME']);
$mail->addAddress($_ENV['TO_EMAIL']);
- $mail->Subject = mb_encode_mimeheader("New Wedding Guest: $name", 'UTF-8');
+ $mail->Subject = mb_encode_mimeheader(
+ "Wedding RSVP: $name",
+ 'UTF-8'
+ );
$body = <<Body = $body;
+
$mail->send();
- echo 'RSVP submitted successfully.';
+ header('Location: /thank-you/');
+ exit;
+
} catch (Exception $e) {
+
echo "RSVP could not be sent. Mailer Error: {$mail->ErrorInfo}";
}
diff --git a/public/ru/404.html b/public/ru/404.html
old mode 100644
new mode 100755
index 63a19f1..a3ce6f5
--- a/public/ru/404.html
+++ b/public/ru/404.html
@@ -1,7 +1,7 @@
-
+
Маркин Степан
@@ -16,21 +16,21 @@
-
-
-
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
-
+
@@ -40,7 +40,7 @@
-
+
@@ -50,7 +50,7 @@
-
+
@@ -99,7 +99,7 @@
-
+
Маркин Степан
@@ -160,7 +160,7 @@
404
Страница не найдена
-
Извините, но этой страницы не существует.
Можете вернуться обратно на домашнюю страницу.
+
Извините, но этой страницы не существует.
Можете вернуться обратно на домашнюю страницу.
@@ -186,7 +186,7 @@
-
+
diff --git a/public/ru/about/index.html b/public/ru/about/index.html
old mode 100644
new mode 100755
index 5a5e379..1427900
--- a/public/ru/about/index.html
+++ b/public/ru/about/index.html
@@ -1,7 +1,7 @@
-
+
Маркин Степан
@@ -16,21 +16,21 @@
-
-
-
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
-
+
@@ -40,7 +40,7 @@
-
+
@@ -50,7 +50,7 @@
-
+
@@ -99,7 +99,7 @@
-
+
Маркин Степан
@@ -195,7 +195,7 @@
-
+
diff --git a/public/ru/authors/index.html b/public/ru/authors/index.html
old mode 100644
new mode 100755
index 4abec39..9b57310
--- a/public/ru/authors/index.html
+++ b/public/ru/authors/index.html
@@ -1,7 +1,7 @@
-
+
Авторы · Маркин Степан
@@ -16,21 +16,21 @@
-
-
-
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
-
+
@@ -40,7 +40,7 @@
-
+
@@ -50,7 +50,7 @@
-
+
@@ -100,7 +100,7 @@
-
+
Маркин Степан
@@ -160,7 +160,7 @@
@@ -198,7 +198,7 @@
-
+
diff --git a/public/ru/authors/index.xml b/public/ru/authors/index.xml
old mode 100644
new mode 100755
index 4295170..1239ae2
--- a/public/ru/authors/index.xml
+++ b/public/ru/authors/index.xml
@@ -1,11 +1,15 @@
-
- Authors on Маркин Степан
- http://markinstefan.xyz/ru/authors/
- Recent content in Authors on Маркин Степан
- Hugo
- ru
-
-
+
+ Authors on Маркин Степан
+ http://localhost:1313/ru/authors/
+ Recent content in Authors on Маркин Степан
+ Hugo
+ ru
+
+
+
+
+
+
diff --git a/public/ru/authors/page/1/index.html b/public/ru/authors/page/1/index.html
old mode 100644
new mode 100755
index dd2901c..08abf37
--- a/public/ru/authors/page/1/index.html
+++ b/public/ru/authors/page/1/index.html
@@ -1,9 +1,9 @@
-
- http://markinstefan.xyz/ru/authors/
-
-
-
-
+
+ http://localhost:1313/ru/authors/
+
+
+
+
diff --git a/public/ru/brak/index.html b/public/ru/brak/index.html
old mode 100644
new mode 100755
index fe8e15a..8b6d8b8
--- a/public/ru/brak/index.html
+++ b/public/ru/brak/index.html
@@ -1,9 +1,9 @@
-
- http://markinstefan.xyz/ru/svadba/
-
-
-
-
+
+ http://localhost:1313/ru/svadba/
+
+
+
+
diff --git a/public/ru/categories/index.html b/public/ru/categories/index.html
old mode 100644
new mode 100755
index 5013592..deab1f2
--- a/public/ru/categories/index.html
+++ b/public/ru/categories/index.html
@@ -1,7 +1,7 @@
-
+
Категории · Маркин Степан
@@ -16,21 +16,21 @@
-
-
-
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
-
+
@@ -40,7 +40,7 @@
-
+
@@ -50,7 +50,7 @@
-
+
@@ -100,7 +100,7 @@
-
+
Маркин Степан
@@ -160,7 +160,7 @@
@@ -198,7 +198,7 @@
-
+
diff --git a/public/ru/categories/index.xml b/public/ru/categories/index.xml
old mode 100644
new mode 100755
index c86815f..8c4bed1
--- a/public/ru/categories/index.xml
+++ b/public/ru/categories/index.xml
@@ -1,11 +1,15 @@
-
- Categories on Маркин Степан
- http://markinstefan.xyz/ru/categories/
- Recent content in Categories on Маркин Степан
- Hugo
- ru
-
-
+
+ Categories on Маркин Степан
+ http://localhost:1313/ru/categories/
+ Recent content in Categories on Маркин Степан
+ Hugo
+ ru
+
+
+
+
+
+
diff --git a/public/ru/categories/page/1/index.html b/public/ru/categories/page/1/index.html
old mode 100644
new mode 100755
index 83f26aa..5744b1d
--- a/public/ru/categories/page/1/index.html
+++ b/public/ru/categories/page/1/index.html
@@ -1,9 +1,9 @@
-
- http://markinstefan.xyz/ru/categories/
-
-
-
-
+
+ http://localhost:1313/ru/categories/
+
+
+
+
diff --git a/public/ru/contact/index.html b/public/ru/contact/index.html
old mode 100644
new mode 100755
index 2d2cdfa..ffe308c
--- a/public/ru/contact/index.html
+++ b/public/ru/contact/index.html
@@ -1,7 +1,7 @@
-
+
Контакты · Маркин Степан
@@ -25,25 +25,25 @@ Signal
-
-
-
+
+
-
-
-
-
+
+
+
-
-
+
+
-
+
@@ -53,7 +53,7 @@ SMS Позвоните напрямую Signal Я не использую WhatsA
-
+
@@ -63,7 +63,7 @@ SMS Позвоните напрямую Signal Я не использую WhatsA
-
+
@@ -112,7 +112,7 @@ SMS Позвоните напрямую Signal Я не использую WhatsA
-
+
Маркин Степан
@@ -173,7 +173,7 @@ SMS Позвоните напрямую Signal Я не использую WhatsA
@@ -214,7 +214,7 @@ SMS Позвоните напрямую Signal Я не использую WhatsA
-
+
diff --git a/public/ru/index.html b/public/ru/index.html
old mode 100644
new mode 100755
index d0ad789..8a6296c
--- a/public/ru/index.html
+++ b/public/ru/index.html
@@ -1,7 +1,7 @@
-
+
Маркин Степан
@@ -16,21 +16,21 @@
-
-
-
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
-
+
@@ -40,7 +40,7 @@
-
+
@@ -50,7 +50,7 @@
-
+
@@ -74,7 +74,7 @@
-
+
@@ -101,7 +101,7 @@
-
+
Маркин Степан
@@ -232,7 +232,7 @@
-
+
diff --git a/public/ru/index.xml b/public/ru/index.xml
old mode 100644
new mode 100755
index 9016de3..16d5a5a
--- a/public/ru/index.xml
+++ b/public/ru/index.xml
@@ -1,39 +1,43 @@
-
- Маркин Степан
- http://markinstefan.xyz/ru/
- Recent content on Маркин Степан
- Hugo
- ru
-
- -
- Контакты
- http://markinstefan.xyz/ru/contact/
- Mon, 01 Jan 0001 00:00:00 +0000
- http://markinstefan.xyz/ru/contact/
- <p>Если у вас есть мой номер телефона, <strong>только</strong> через:</p>
<ul>
<li>SMS</li>
<li>Позвоните напрямую</li>
<li><a href="https://signal.org/" class="external-link" target="_blank" rel="noopener">Signal</a></li>
</ul>
<p>Я <strong>не</strong> использую WhatsApp или Telegram <strong>для личных разговоров</strong>.<br>
Напишите мне, используя одну из трех упомянутых рекомендаций.</p>
-
- -
- Перенаправление в репозиторий Gitea
- http://markinstefan.xyz/ru/projects/
- Mon, 01 Jan 0001 00:00:00 +0000
- http://markinstefan.xyz/ru/projects/
-
-
- -
- Перенаправление на профиль Gitea
- http://markinstefan.xyz/ru/about/
- Mon, 01 Jan 0001 00:00:00 +0000
- http://markinstefan.xyz/ru/about/
-
-
- -
- Свадьба Стефана и Марии
- http://markinstefan.xyz/ru/svadba/
- Mon, 01 Jan 0001 00:00:00 +0000
- http://markinstefan.xyz/ru/svadba/
- <p>С радостью приглашаем вас на свадьбу Стефана и Марии!</p>
<p>Мы приглашаем вас разделить с нами этот особенный день, наполненный любовью, радостью и незабываемыми воспоминаниями!</p>
<p>С нетерпением ждем встречи с вами!</p>
-
-
+
+ Маркин Степан
+ http://localhost:1313/ru/
+ Recent content on Маркин Степан
+ Hugo
+ ru
+
+
+
+
+
+ -
+ Контакты
+ http://localhost:1313/ru/contact/
+ Mon, 01 Jan 0001 00:00:00 +0000
+ http://localhost:1313/ru/contact/
+ <p>Если у вас есть мой номер телефона, <strong>только</strong> через:</p>
<ul>
<li>SMS</li>
<li>Позвоните напрямую</li>
<li><a href="https://signal.org/" class="external-link" target="_blank" rel="noopener">Signal</a></li>
</ul>
<p>Я <strong>не</strong> использую WhatsApp или Telegram <strong>для личных разговоров</strong>.<br>
Напишите мне, используя одну из трех упомянутых рекомендаций.</p>
+
+ -
+ Перенаправление в репозиторий Gitea
+ http://localhost:1313/ru/projects/
+ Mon, 01 Jan 0001 00:00:00 +0000
+ http://localhost:1313/ru/projects/
+
+
+ -
+ Перенаправление на профиль Gitea
+ http://localhost:1313/ru/about/
+ Mon, 01 Jan 0001 00:00:00 +0000
+ http://localhost:1313/ru/about/
+
+
+ -
+ Свадьба Стефана и Марии
+ http://localhost:1313/ru/svadba/
+ Mon, 01 Jan 0001 00:00:00 +0000
+ http://localhost:1313/ru/svadba/
+ <p>С радостью приглашаем вас на свадьбу Стефана и Марии!</p>
<p>Мы приглашаем вас разделить с нами этот особенный день, наполненный любовью, радостью и незабываемыми воспоминаниями!</p>
<p>С нетерпением ждем встречи с вами!</p>
+
+
diff --git a/public/ru/mariia-i-stefan/index.html b/public/ru/mariia-i-stefan/index.html
old mode 100644
new mode 100755
index fe8e15a..8b6d8b8
--- a/public/ru/mariia-i-stefan/index.html
+++ b/public/ru/mariia-i-stefan/index.html
@@ -1,9 +1,9 @@
-
- http://markinstefan.xyz/ru/svadba/
-
-
-
-
+
+ http://localhost:1313/ru/svadba/
+
+
+
+
diff --git a/public/ru/projects/index.html b/public/ru/projects/index.html
old mode 100644
new mode 100755
index f280903..b209665
--- a/public/ru/projects/index.html
+++ b/public/ru/projects/index.html
@@ -1,7 +1,7 @@
-
+
Маркин Степан
@@ -16,21 +16,21 @@
-
-
-
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
-
+
@@ -40,7 +40,7 @@
-
+
@@ -50,7 +50,7 @@
-
+
@@ -99,7 +99,7 @@
-
+
Маркин Степан
@@ -195,7 +195,7 @@
-
+
diff --git a/public/ru/series/index.html b/public/ru/series/index.html
old mode 100644
new mode 100755
index 81d17ea..801d670
--- a/public/ru/series/index.html
+++ b/public/ru/series/index.html
@@ -1,7 +1,7 @@
-
+
Серии · Маркин Степан
@@ -16,21 +16,21 @@
-
-
-
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
-
+
@@ -40,7 +40,7 @@
-
+
@@ -50,7 +50,7 @@
-
+
@@ -100,7 +100,7 @@
-
+
Маркин Степан
@@ -137,14 +137,14 @@
- 🇬🇧
+ 🇩🇪
- 🇩🇪
+ 🇬🇧
@@ -160,7 +160,7 @@
@@ -198,7 +198,7 @@
-
+
diff --git a/public/ru/series/index.xml b/public/ru/series/index.xml
old mode 100644
new mode 100755
index 1d9d43d..800c6ec
--- a/public/ru/series/index.xml
+++ b/public/ru/series/index.xml
@@ -1,11 +1,15 @@
-
- Series on Маркин Степан
- http://markinstefan.xyz/ru/series/
- Recent content in Series on Маркин Степан
- Hugo
- ru
-
-
+
+ Series on Маркин Степан
+ http://localhost:1313/ru/series/
+ Recent content in Series on Маркин Степан
+ Hugo
+ ru
+
+
+
+
+
+
diff --git a/public/ru/series/page/1/index.html b/public/ru/series/page/1/index.html
old mode 100644
new mode 100755
index 5de3942..9208059
--- a/public/ru/series/page/1/index.html
+++ b/public/ru/series/page/1/index.html
@@ -1,9 +1,9 @@
-
- http://markinstefan.xyz/ru/series/
-
-
-
-
+
+ http://localhost:1313/ru/series/
+
+
+
+
diff --git a/public/ru/sitemap.xml b/public/ru/sitemap.xml
old mode 100644
new mode 100755
index d2c3125..c9b6e48
--- a/public/ru/sitemap.xml
+++ b/public/ru/sitemap.xml
@@ -2,157 +2,157 @@
- http://markinstefan.xyz/ru/authors/
+ http://localhost:1313/ru/authors/
- http://markinstefan.xyz/ru/categories/
+ http://localhost:1313/ru/categories/
- http://markinstefan.xyz/ru/series/
-
+ http://localhost:1313/ru/series/
+
- http://markinstefan.xyz/ru/tags/
+ http://localhost:1313/ru/tags/
- http://markinstefan.xyz/ru/contact/
+ http://localhost:1313/ru/contact/
- http://markinstefan.xyz/ru/
+ http://localhost:1313/ru/
- http://markinstefan.xyz/ru/projects/
+ http://localhost:1313/ru/projects/
- http://markinstefan.xyz/ru/about/
+ http://localhost:1313/ru/about/
- http://markinstefan.xyz/ru/svadba/
+ http://localhost:1313/ru/svadba/
diff --git a/public/ru/svadba/index.html b/public/ru/svadba/index.html
old mode 100644
new mode 100755
index 4a11c5c..93a2a7e
--- a/public/ru/svadba/index.html
+++ b/public/ru/svadba/index.html
@@ -1,7 +1,7 @@
-
+
Маркин Степан
@@ -18,25 +18,25 @@
-
-
-
+
+
-
-
-
-
+
+
+
-
-
+
+
-
+
@@ -46,7 +46,7 @@
-
+
@@ -56,7 +56,7 @@
-
+
@@ -105,7 +105,7 @@
-
+
Маркин Степан
@@ -369,71 +369,199 @@ btn.addEventListener("click", async () => {
-
-
-
-
-
-
-
-
-
-
@@ -497,7 +625,7 @@ btn.addEventListener("click", async () => {
-
+
diff --git a/public/ru/tags/index.html b/public/ru/tags/index.html
old mode 100644
new mode 100755
index 3432956..c2cd778
--- a/public/ru/tags/index.html
+++ b/public/ru/tags/index.html
@@ -1,7 +1,7 @@
-
+
Тэги · Маркин Степан
@@ -16,21 +16,21 @@
-
-
-
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
-
+
@@ -40,7 +40,7 @@
-
+
@@ -50,7 +50,7 @@
-
+
@@ -100,7 +100,7 @@
-
+
Маркин Степан
@@ -160,7 +160,7 @@
@@ -198,7 +198,7 @@
-
+
diff --git a/public/ru/tags/index.xml b/public/ru/tags/index.xml
old mode 100644
new mode 100755
index 4718189..ce0404f
--- a/public/ru/tags/index.xml
+++ b/public/ru/tags/index.xml
@@ -1,11 +1,15 @@
-
- Tags on Маркин Степан
- http://markinstefan.xyz/ru/tags/
- Recent content in Tags on Маркин Степан
- Hugo
- ru
-
-
+
+ Tags on Маркин Степан
+ http://localhost:1313/ru/tags/
+ Recent content in Tags on Маркин Степан
+ Hugo
+ ru
+
+
+
+
+
+
diff --git a/public/ru/tags/page/1/index.html b/public/ru/tags/page/1/index.html
old mode 100644
new mode 100755
index f8fa17a..c3b1919
--- a/public/ru/tags/page/1/index.html
+++ b/public/ru/tags/page/1/index.html
@@ -1,9 +1,9 @@
-
- http://markinstefan.xyz/ru/tags/
-
-
-
-
+
+ http://localhost:1313/ru/tags/
+
+
+
+
diff --git a/public/series/index.html b/public/series/index.html
old mode 100644
new mode 100755
index 8789436..1974f98
--- a/public/series/index.html
+++ b/public/series/index.html
@@ -1,7 +1,7 @@
-
+
Series · Markin Stefan
@@ -16,21 +16,21 @@
-
-
-
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
-
+
@@ -40,7 +40,7 @@
-
+
@@ -50,7 +50,7 @@
-
+
@@ -100,7 +100,7 @@
-
+
Markin Stefan
@@ -137,14 +137,14 @@
- 🇩🇪
+ 🇷🇺
- 🇷🇺
+ 🇩🇪
@@ -160,7 +160,7 @@
@@ -198,7 +198,7 @@
-
+
diff --git a/public/series/index.xml b/public/series/index.xml
old mode 100644
new mode 100755
index 5c98c04..7a866a7
--- a/public/series/index.xml
+++ b/public/series/index.xml
@@ -1,11 +1,15 @@
-
- Series on Markin Stefan
- http://markinstefan.xyz/series/
- Recent content in Series on Markin Stefan
- Hugo
- en
-
-
+
+ Series on Markin Stefan
+ http://localhost:1313/series/
+ Recent content in Series on Markin Stefan
+ Hugo
+ en
+
+
+
+
+
+
diff --git a/public/series/page/1/index.html b/public/series/page/1/index.html
old mode 100644
new mode 100755
index f419fde..1c30b9d
--- a/public/series/page/1/index.html
+++ b/public/series/page/1/index.html
@@ -1,9 +1,9 @@
-
- http://markinstefan.xyz/series/
-
-
-
-
+
+ http://localhost:1313/series/
+
+
+
+
diff --git a/public/sitemap.xml b/public/sitemap.xml
old mode 100644
new mode 100755
index e7b1aea..d0470ef
--- a/public/sitemap.xml
+++ b/public/sitemap.xml
@@ -1,19 +1,19 @@
-
-
- http://markinstefan.xyz/de/sitemap.xml
-
-
-
-
- http://markinstefan.xyz/en/sitemap.xml
-
-
-
-
- http://markinstefan.xyz/ru/sitemap.xml
-
-
-
+
+
+ http://localhost:1313/de/sitemap.xml
+
+
+
+
+ http://localhost:1313/en/sitemap.xml
+
+
+
+
+ http://localhost:1313/ru/sitemap.xml
+
+
+
diff --git a/public/tags/index.html b/public/tags/index.html
old mode 100644
new mode 100755
index 68e5bf7..037c948
--- a/public/tags/index.html
+++ b/public/tags/index.html
@@ -1,7 +1,7 @@
-
+
Tags · Markin Stefan
@@ -16,21 +16,21 @@
-
-
-
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
-
+
@@ -40,7 +40,7 @@
-
+
@@ -50,7 +50,7 @@
-
+
@@ -100,7 +100,7 @@
-
+
Markin Stefan
@@ -137,14 +137,14 @@
- 🇩🇪
+ 🇷🇺
- 🇷🇺
+ 🇩🇪
@@ -160,7 +160,7 @@
@@ -198,7 +198,7 @@
-
+
diff --git a/public/tags/index.xml b/public/tags/index.xml
old mode 100644
new mode 100755
index c3c9cf1..1412334
--- a/public/tags/index.xml
+++ b/public/tags/index.xml
@@ -1,11 +1,15 @@
-
- Tags on Markin Stefan
- http://markinstefan.xyz/tags/
- Recent content in Tags on Markin Stefan
- Hugo
- en
-
-
+
+ Tags on Markin Stefan
+ http://localhost:1313/tags/
+ Recent content in Tags on Markin Stefan
+ Hugo
+ en
+
+
+
+
+
+
diff --git a/public/tags/page/1/index.html b/public/tags/page/1/index.html
old mode 100644
new mode 100755
index 1ab792e..78198c8
--- a/public/tags/page/1/index.html
+++ b/public/tags/page/1/index.html
@@ -1,9 +1,9 @@
-
- http://markinstefan.xyz/tags/
-
-
-
-
+
+ http://localhost:1313/tags/
+
+
+
+
diff --git a/public/wedding/index.html b/public/wedding/index.html
old mode 100644
new mode 100755
index a9c5fb1..71af76f
--- a/public/wedding/index.html
+++ b/public/wedding/index.html
@@ -1,7 +1,7 @@
-
+
Markin Stefan
@@ -18,25 +18,25 @@ We look forward to seeing you there!">
-
-
-
+
+
-
-
-
-
+
+
+
-
-
+
+
-
+
@@ -46,7 +46,7 @@ We look forward to seeing you there!">
-
+
@@ -56,7 +56,7 @@ We look forward to seeing you there!">
-
+
@@ -105,7 +105,7 @@ We look forward to seeing you there!">
-
+
Markin Stefan
@@ -369,71 +369,199 @@ btn.addEventListener("click", async () => {
-
-
-
-
-
-
-
-
-
-
@@ -497,7 +625,7 @@ btn.addEventListener("click", async () => {
-
+
diff --git a/static/rsvp-submit-bkp.php b/static/rsvp-submit-bkp.php
new file mode 100755
index 0000000..fe4cf5a
--- /dev/null
+++ b/static/rsvp-submit-bkp.php
@@ -0,0 +1,58 @@
+safeLoad();
+
+// Get form values
+$first_name = $_POST['first_name'] ?? '';
+$last_name = $_POST['last_name'] ?? '';
+$name = trim("$first_name $last_name") ?: 'No Name';
+
+// Drinks can be an array
+$drinks = $_POST['drinks'] ?? 'None';
+if (is_array($drinks)) {
+ $drinks = implode(', ', $drinks);
+}
+
+// Allergies
+$allergies = $_POST['allergies'] ?? 'None';
+
+// Convert to UTF-8
+$name = mb_convert_encoding($name, 'UTF-8', 'auto');
+$drinks = mb_convert_encoding($drinks, 'UTF-8', 'auto');
+$allergies = mb_convert_encoding($allergies, 'UTF-8', 'auto');
+
+// PHPMailer setup
+$mail = new PHPMailer(true);
+try {
+ $mail->CharSet = 'UTF-8';
+ $mail->isSMTP();
+ $mail->Host = $_ENV['SMTP_HOST'];
+ $mail->SMTPAuth = true;
+ $mail->Username = $_ENV['SMTP_USER'];
+ $mail->Password = $_ENV['SMTP_PASS'];
+ $mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS;
+ $mail->Port = (int)$_ENV['SMTP_PORT'];
+
+ $mail->setFrom($_ENV['FROM_EMAIL'], $_ENV['FROM_NAME']);
+ $mail->addAddress($_ENV['TO_EMAIL']);
+
+ $mail->Subject = mb_encode_mimeheader("New Wedding Guest: $name", 'UTF-8');
+
+ $body = <<Body = $body;
+ $mail->send();
+
+ echo 'RSVP submitted successfully.';
+} catch (Exception $e) {
+ echo "RSVP could not be sent. Mailer Error: {$mail->ErrorInfo}";
+}
diff --git a/static/rsvp-submit.php b/static/rsvp-submit.php
index fe4cf5a..66e06c5 100755
--- a/static/rsvp-submit.php
+++ b/static/rsvp-submit.php
@@ -1,5 +1,6 @@
safeLoad();
-// Get form values
-$first_name = $_POST['first_name'] ?? '';
-$last_name = $_POST['last_name'] ?? '';
-$name = trim("$first_name $last_name") ?: 'No Name';
-
-// Drinks can be an array
-$drinks = $_POST['drinks'] ?? 'None';
-if (is_array($drinks)) {
- $drinks = implode(', ', $drinks);
+function checkboxArrayToString($value)
+{
+ if (is_array($value) && count($value) > 0) {
+ return implode(', ', $value);
+ }
+ return 'None';
}
+function yesNo($value)
+{
+ return !empty($value) ? 'Yes' : 'No';
+}
+
+// Honeypot spam protection
+if (!empty($_POST['website'])) {
+ exit('Spam detected.');
+}
+
+// Privacy consent required
+if (empty($_POST['privacy'])) {
+ exit('Privacy consent required.');
+}
+
+// Personal
+$first_name = trim($_POST['first_name'] ?? '');
+$last_name = trim($_POST['last_name'] ?? '');
+$name = trim("$first_name $last_name");
+
+$email = trim($_POST['email'] ?? '');
+$phone = trim($_POST['phone'] ?? '');
+
+// Attendance
+$attendance = $_POST['attendance'] ?? 'Unknown';
+
+// Drinks
+$drinks = checkboxArrayToString($_POST['drinks'] ?? []);
+
+// Diet
+$diet = $_POST['diet'] ?? 'Not specified';
+
// Allergies
-$allergies = $_POST['allergies'] ?? 'None';
+$allergies = checkboxArrayToString($_POST['allergies'] ?? []);
+$allergies_other = trim($_POST['allergies_other'] ?? '');
-// Convert to UTF-8
-$name = mb_convert_encoding($name, 'UTF-8', 'auto');
-$drinks = mb_convert_encoding($drinks, 'UTF-8', 'auto');
-$allergies = mb_convert_encoding($allergies, 'UTF-8', 'auto');
+// Organization
+$parking = yesNo($_POST['parking'] ?? '');
+$ride_needed = yesNo($_POST['ride_needed'] ?? '');
+$ride_offer = yesNo($_POST['ride_offer'] ?? '');
+$hotel = yesNo($_POST['hotel'] ?? '');
+$hotel_booked = yesNo($_POST['hotel_booked'] ?? '');
+
+// Memories
+$memory_card = yesNo($_POST['memory_card'] ?? '');
+$photo_link = yesNo($_POST['photo_link'] ?? '');
+
+// Entertainment
+$music_request = trim($_POST['music_request'] ?? '');
+$contribution = checkboxArrayToString($_POST['contribution'] ?? []);
+
+// Children
+$children = $_POST['children'] ?? 'No';
+$children_count = trim($_POST['children_count'] ?? '');
+$children_ages = trim($_POST['children_ages'] ?? '');
+
+// Message
+$message = trim($_POST['message'] ?? '');
+
+// UTF-8 conversion
+$fields = [
+ &$name,
+ &$email,
+ &$phone,
+ &$attendance,
+ &$drinks,
+ &$diet,
+ &$allergies,
+ &$allergies_other,
+ &$music_request,
+ &$contribution,
+ &$children,
+ &$children_count,
+ &$children_ages,
+ &$message
+];
+
+foreach ($fields as &$field) {
+ $field = mb_convert_encoding($field, 'UTF-8', 'auto');
+}
-// PHPMailer setup
$mail = new PHPMailer(true);
+
try {
+
$mail->CharSet = 'UTF-8';
+
$mail->isSMTP();
$mail->Host = $_ENV['SMTP_HOST'];
$mail->SMTPAuth = true;
@@ -41,18 +114,91 @@ try {
$mail->setFrom($_ENV['FROM_EMAIL'], $_ENV['FROM_NAME']);
$mail->addAddress($_ENV['TO_EMAIL']);
- $mail->Subject = mb_encode_mimeheader("New Wedding Guest: $name", 'UTF-8');
+ $mail->Subject = mb_encode_mimeheader(
+ "Wedding RSVP: $name",
+ 'UTF-8'
+ );
$body = <<Body = $body;
+
$mail->send();
- echo 'RSVP submitted successfully.';
+ header('Location: /thank-you/');
+ exit;
+
} catch (Exception $e) {
+
echo "RSVP could not be sent. Mailer Error: {$mail->ErrorInfo}";
}