diff --git a/launch.html b/launch.html
index 721890a..412f27f 100644
--- a/launch.html
+++ b/launch.html
@@ -428,8 +428,12 @@
*/
const CONFIG = {
+ /*
+ * Your Jitsi Launcher domain
+ */
+ jitsiLauncher: "meet.bnvb.eu",
/*
- * Your Jitsi Domain.
+ * Your Jitsi domain.
*/
jitsiHost: "meet.bnvb-ingenieure.de",
/*
@@ -532,7 +536,8 @@
startTimeRequired: "Please select a start time",
endTimeRequired: "Please select an end time",
endAfterStart: "End time must be after start time",
- organizerRequired: "Please enter an organizer email"
+ organizerRequired: "Please enter an organizer email",
+ organizerInvalid: "Please enter a valid organizer email address"
}
},
@@ -617,7 +622,8 @@
startTimeRequired: "Bitte wähle eine Startzeit",
endTimeRequired: "Bitte wähle eine Endzeit",
endAfterStart: "Die Endzeit muss nach der Startzeit liegen",
- organizerRequired: "Bitte gib eine Organisator-E-Mail ein"
+ organizerRequired: "Bitte gib eine Organisator-E-Mail ein",
+ organizerInvalid: "Bitte gib eine gültige Organisator-E-Mail-Adresse ein"
}
},
@@ -701,7 +707,8 @@
startTimeRequired: "Veuillez sélectionner une heure de début",
endTimeRequired: "Veuillez sélectionner une heure de fin",
endAfterStart: "L'heure de fin doit être après l'heure de début",
- organizerRequired: "Veuillez entrer un email d'organisateur"
+ organizerRequired: "Veuillez entrer un email d'organisateur",
+ organizerInvalid: "Veuillez entrer une adresse email d'organisateur valide"
}
}
};
@@ -1180,7 +1187,7 @@
function generateICS(meetingName, description, startTime, endTime, organizer) {
/* Generate a unique room name from the meeting name */
const roomName = meetingName.toLowerCase().replace(/\s+/g, '-').replace(/[^a-z0-9-]/g, '');
- const meetingUrl = `https://${CONFIG.jitsiHost}/launch.html?room=${encodeURIComponent(roomName)}`;
+ const meetingUrl = `https://${CONFIG.jitsiLauncher}/launch.html?room=${encodeURIComponent(roomName)}`;
/* Format dates for ICS */
const formatICSDate = (date) => {
@@ -1297,6 +1304,12 @@ END:VCALENDAR`;
return;
}
+ const emailPattern = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
+ if (!emailPattern.test(organizer)) {
+ alert(getTranslation('creator.organizerInvalid') || 'Please enter a valid organizer email address');
+ return;
+ }
+
/* Generate ICS */
const icsData = generateICS(meetingName, description || meetingName, startTime, endTime, organizer);