diff --git a/Public/assets/festival.js b/Public/assets/festival.js index 891a996..bab49d8 100644 --- a/Public/assets/festival.js +++ b/Public/assets/festival.js @@ -47,7 +47,7 @@ function catchErrors(error) { } async function performRequest(name, path) { - let text = await fetch("festival/api/" + path, { + let text = await fetch("/festival/api/" + path, { method: 'POST', body: name }).then(handleErrors).catch(catchErrors); @@ -59,6 +59,6 @@ async function performRequest(name, path) { return false; } -function downloadEvent(file) { - window.location= "files/" + file -} \ No newline at end of file +function download(file) { + window.location = file +} diff --git a/Public/festival-en.html b/Public/festival-en.html index 22b7bef..4e23c27 100644 --- a/Public/festival-en.html +++ b/Public/festival-en.html @@ -17,7 +17,7 @@ - +
@@ -54,10 +54,10 @@
Registration failed
Registration successful
Invitation declined
-
Add to calendar
+
Add to calendar
diff --git a/Public/festival-en.ics b/Public/festival-en.ics new file mode 100644 index 0000000..0f46817 --- /dev/null +++ b/Public/festival-en.ics @@ -0,0 +1,35 @@ +BEGIN:VCALENDAR +VERSION:2.0 +PRODID:-//christophhagen.de +CALSCALE:GREGORIAN +BEGIN:VTIMEZONE +TZID:Europe/Berlin +LAST-MODIFIED:20201011T015911Z +TZURL:http://tzurl.org/zoneinfo-outlook/Europe/Berlin +X-LIC-LOCATION:Europe/Berlin +BEGIN:DAYLIGHT +TZNAME:CEST +TZOFFSETFROM:+0100 +TZOFFSETTO:+0200 +DTSTART:19700329T020000 +RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU +END:DAYLIGHT +BEGIN:STANDARD +TZNAME:CET +TZOFFSETFROM:+0200 +TZOFFSETTO:+0100 +DTSTART:19701025T030000 +RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU +END:STANDARD +END:VTIMEZONE +BEGIN:VEVENT +DTSTAMP:20211002T121707Z +UID:20211002T121707Z-230813577@christophhagen.de +DTSTART;TZID=Europe/Berlin:20220730T140000 +DTEND;TZID=Europe/Berlin:20220731T120000 +SUMMARY:CC Festival +URL:https://christophhagen.de/festival-en +DESCRIPTION:A summer party +LOCATION:Scheinfelder Straße 10\, 96160 Geiselwind, Germany +END:VEVENT +END:VCALENDAR \ No newline at end of file diff --git a/Public/festival.html b/Public/festival.html index 5512490..cd66fe8 100644 --- a/Public/festival.html +++ b/Public/festival.html @@ -17,7 +17,7 @@ - +
@@ -54,10 +54,10 @@
Registrierung fehlgeschlagen
Registrierung erfolgreich
Einladung abgelehnt
-
Kalendereintrag
+
Kalendereintrag
diff --git a/Public/festival.ics b/Public/festival.ics new file mode 100644 index 0000000..f774016 --- /dev/null +++ b/Public/festival.ics @@ -0,0 +1,35 @@ +BEGIN:VCALENDAR +VERSION:2.0 +PRODID:-//christophhagen.de +CALSCALE:GREGORIAN +BEGIN:VTIMEZONE +TZID:Europe/Berlin +LAST-MODIFIED:20201011T015911Z +TZURL:http://tzurl.org/zoneinfo-outlook/Europe/Berlin +X-LIC-LOCATION:Europe/Berlin +BEGIN:DAYLIGHT +TZNAME:CEST +TZOFFSETFROM:+0100 +TZOFFSETTO:+0200 +DTSTART:19700329T020000 +RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU +END:DAYLIGHT +BEGIN:STANDARD +TZNAME:CET +TZOFFSETFROM:+0200 +TZOFFSETTO:+0100 +DTSTART:19701025T030000 +RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU +END:STANDARD +END:VTIMEZONE +BEGIN:VEVENT +DTSTAMP:20211002T121707Z +UID:20211002T121707Z-230813577@christophhagen.de +DTSTART;TZID=Europe/Berlin:20220730T140000 +DTEND;TZID=Europe/Berlin:20220731T120000 +SUMMARY:CC Festival +URL:https://christophhagen.de/festival +DESCRIPTION:A summer party +LOCATION:Scheinfelder Straße 10\, 96160 Geiselwind +END:VEVENT +END:VCALENDAR \ No newline at end of file diff --git a/Public/since77.mp3 b/Public/since77.mp3 new file mode 100644 index 0000000..c2bba1b Binary files /dev/null and b/Public/since77.mp3 differ diff --git a/Resources/paths.conf b/Resources/paths.conf index fc59537..cf607b4 100755 --- a/Resources/paths.conf +++ b/Resources/paths.conf @@ -1,3 +1 @@ /data/logs/festival/server.log -/data/public/festival/lists - diff --git a/Sources/App/configure.swift b/Sources/App/configure.swift index 9bf4800..7a76982 100755 --- a/Sources/App/configure.swift +++ b/Sources/App/configure.swift @@ -96,15 +96,11 @@ public func configure(_ app: Application) throws { let configFile = URL(fileURLWithPath: app.directory.resourcesDirectory) .appendingPathComponent("paths.conf") - let configData = try String(contentsOf: configFile) - .components(separatedBy: "\n") - .map { $0.trimmingCharacters(in: .whitespaces) } - .filter { !$0.isEmpty } - guard configData.count == 2 else { - throw FestivalError.invalidConfiguration - } - let logFile = URL(fileURLWithPath: configData[0]) - let listDirectory = URL(fileURLWithPath: configData[1]) + let logPath = try String(contentsOf: configFile) + .trimmingCharacters(in: .whitespaces) + let logFile = URL(fileURLWithPath: logPath) + let listDirectory = URL(fileURLWithPath: app.directory.publicDirectory) + .appendingPathComponent("lists") try Log.set(logFile: logFile.path)