From 0dc1ca61041b44f84da6e0ef73e0eb0956dc8349 Mon Sep 17 00:00:00 2001 From: Flatlogic Bot Date: Fri, 17 Oct 2025 10:10:17 +0000 Subject: [PATCH] 4444 --- assets/pasted-20251017-100534-44f1cec7.png | Bin 0 -> 67852 bytes register.php | 148 ++++++++++----------- 2 files changed, 67 insertions(+), 81 deletions(-) create mode 100644 assets/pasted-20251017-100534-44f1cec7.png diff --git a/assets/pasted-20251017-100534-44f1cec7.png b/assets/pasted-20251017-100534-44f1cec7.png new file mode 100644 index 0000000000000000000000000000000000000000..db005ef0b71c64f8d0b03db5932d3eefe64e482d GIT binary patch literal 67852 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 >je1;cKP-$}tw=$NzgUzS1do1gr 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 literal 0 HcmV?d00001 diff --git a/register.php b/register.php index c10a65f..7b73c91 100644 --- a/register.php +++ b/register.php @@ -23,20 +23,7 @@ if ($_SERVER["REQUEST_METHOD"] == "POST") { header('Content-Type: application/json'); // --- DATA CAPTURE --- - $webinar_id = filter_input(INPUT_POST, 'webinar_id', FILTER_VALIDATE_INT); - - // --- WEBINAR DETAILS --- - $webinar = null; - if ($webinar_id) { - try { - // Fetch webinar details to create calendar links - $stmt = $pdo->prepare("SELECT title, description, starts_at, ends_at FROM webinars WHERE id = ?"); - $stmt->execute([$webinar_id]); - $webinar = $stmt->fetch(PDO::FETCH_ASSOC); - } catch (PDOException $e) { - // Log error, but don't show to user - } - } + // The $webinar object is already available from the initial page load. $email = filter_input(INPUT_POST, 'email', FILTER_VALIDATE_EMAIL); $first_name = filter_input(INPUT_POST, 'first_name', FILTER_SANITIZE_STRING); $last_name = filter_input(INPUT_POST, 'last_name', FILTER_SANITIZE_STRING); @@ -149,17 +136,14 @@ if (!$webinar) { .form-card h2 { margin-top: 0; font-size: 1.5rem; color: #f6e05e; text-align: center; } .form-group { margin-bottom: 1.5rem; } label { display: block; margin-bottom: 0.5rem; font-weight: bold; } - input[type="email"], input[type="text"] { width: 100%; padding: 0.75rem; background-color: #1a202c; border: 1px solid #4a5568; border-radius: 0.375rem; color: #e2e8f0; font-size: 1rem; box-sizing: border-box; } - .consent-group { display: flex; align-items: start; gap: 0.75rem; } - .consent-group label { font-weight: normal; font-size: 0.9rem; color: #a0aec0; } - .microcopy { font-size: 0.8rem; color: #718096; margin-top: 0.5rem; } + input[type="email"], input[type="text"], input[type="password"] { width: 100%; padding: 0.75rem; background-color: #1a202c; border: 1px solid #4a5568; border-radius: 0.375rem; color: #e2e8f0; font-size: 1rem; box-sizing: border-box; } .submit-btn { display: block; width: 100%; background-color: #f6e05e; color: #1a202c; padding: 0.85rem; border: none; border-radius: 0.375rem; font-weight: bold; font-size: 1.125rem; cursor: pointer; transition: background-color 0.2s; } .submit-btn:hover { background-color: #f6d32d; } .submit-btn:disabled { background-color: #4a5568; cursor: not-allowed; } #form-result { margin-top: 1.5rem; text-align: center; } - .success-message { background-color: #2d3748; border: 1px solid #4a5568; padding: 2rem; border-radius: 0.5rem; } + .success-message { background-color: #2d3748; border: 1px solid #4a5568; padding: 2rem; border-radius: 0.5rem; text-align: center; } .error-message { background-color: #c53030; padding: 1rem; border-radius: 0.375rem; } - .calendar-buttons a, .copy-link-btn { display: inline-block; background-color: #4a5568; color: #e2e8f0; padding: 0.75rem 1.5rem; border-radius: 0.375rem; text-decoration: none; margin: 0.5rem; font-weight: bold; } + .calendar-buttons a { display: inline-block; background-color: #4a5568; color: #e2e8f0; padding: 0.75rem 1.5rem; border-radius: 0.375rem; text-decoration: none; margin: 0.5rem; font-weight: bold; } @media (max-width: 768px) { .container { grid-template-columns: 1fr; } } @@ -187,7 +171,6 @@ if (!$webinar) {

-

We’ll send the join link & calendar invite.

@@ -264,78 +247,81 @@ if (!$webinar) { submitButton.textContent = 'Processing...'; const formData = new FormData(form); - fetch(window.location.href, { - method: 'POST', - body: formData - }) - .then(response => response.json()) - .then(data => { - if (data.success) { - formContainer.style.display = 'none'; - const webinarTitle = encodeURIComponent(data.webinar_title); - const webinarDate = new Date(data.webinar_date_utc + 'Z'); - - // Correctly format dates for UTC (YYYYMMDDTHHMMSSZ) - const formatUTCDate = (date) => { - return date.toISOString().replace(/\.\d{3}Z$/, 'Z').replace(/[-:]/g, ''); - }; + const xhr = new XMLHttpRequest(); + xhr.open('POST', window.location.href, true); + + xhr.onload = function() { + if (xhr.status >= 200 && xhr.status < 400) { + console.log("Response from server:", xhr.responseText); + let data; + try { + data = JSON.parse(xhr.responseText); + } catch (e) { + formResult.innerHTML = '
An unexpected error occurred parsing the server response.
'; + console.error("JSON Parsing Error:", e); + return; + } - const startTime = formatUTCDate(webinarDate); - const endTime = formatUTCDate(new Date(webinarDate.getTime() + (60 * 60 * 1000))); - const googleLink = `https://www.google.com/calendar/render?action=TEMPLATE&text=${webinarTitle}&dates=${startTime}/${endTime}&details=Join+the+webinar!&ctz=UTC`; - - const icsContent = [ - 'BEGIN:VCALENDAR', - 'VERSION:2.0', - 'BEGIN:VEVENT', - `URL:${window.location.href}`, - `DTSTART:${startTime}`, - `DTEND:${endTime}`, - `SUMMARY:${data.webinar_title}`, - 'DESCRIPTION:Join the webinar!', - 'END:VEVENT', - 'END:VCALENDAR' - ].join('\n'); - const outlookLink = `data:text/calendar;charset=utf-8,${encodeURIComponent(icsContent)}`; + if (data.success) { + formContainer.style.display = 'none'; + const webinarTitle = encodeURIComponent(data.webinar_title); + const webinarDate = new Date(data.webinar_date_utc + 'Z'); + + const formatUTCDate = (date) => { + return date.toISOString().replace(/\.\d{3}Z$/, 'Z').replace(/[-:]/g, ''); + }; - formResult.innerHTML = ` -
-

You’re in for ${data.webinar_title}!

-

Check your email for your confirmation. You can now log in to see the details.

-
- Add to Google Calendar - Add to Outlook (ICS) + const startTime = formatUTCDate(webinarDate); + const endTime = formatUTCDate(new Date(webinarDate.getTime() + (60 * 60 * 1000))); + + const googleLink = `https://www.google.com/calendar/render?action=TEMPLATE&text=${webinarTitle}&dates=${startTime}/${endTime}&details=Join+the+webinar!&ctz=UTC`; + + const icsContent = [ + 'BEGIN:VCALENDAR', + 'VERSION:2.0', + 'BEGIN:VEVENT', + `URL:${window.location.href}`, + `DTSTART:${startTime}`, + `DTEND:${endTime}`, + `SUMMARY:${data.webinar_title}`, + 'DESCRIPTION:Join the webinar!', + 'END:VEVENT', + 'END:VCALENDAR' + ].join('\n'); + const outlookLink = `data:text/calendar;charset=utf-8,${encodeURIComponent(icsContent)}`; + + formResult.innerHTML = ` +
+

You’re in for ${data.webinar_title}!

+

Check your email for your confirmation. You can now log in to see the details.

+
-
- `; + `; + } else { + formResult.innerHTML = `
${data.error || 'An unknown error occurred.'}
`; + submitButton.disabled = false; + submitButton.textContent = 'Register Now'; + } } else { - formResult.innerHTML = `
${data.error}
`; + formResult.innerHTML = '
A server error occurred. Please try again later.
'; submitButton.disabled = false; submitButton.textContent = 'Register Now'; } - }) - .catch(error => { - formResult.innerHTML = `
An unexpected error occurred.
`; + }; + + xhr.onerror = function() { + formResult.innerHTML = '
A network error occurred. Please check your connection.
'; submitButton.disabled = false; submitButton.textContent = 'Register Now'; - }); - }); + }; - // --- COPY LINK --- - formResult.addEventListener('click', function(e) { - if (e.target.classList.contains('copy-link-btn')) { - e.preventDefault(); - const link = e.target.dataset.link; - navigator.clipboard.writeText(link).then(() => { - e.target.textContent = 'Copied!'; - setTimeout(() => { - e.target.textContent = 'Copy Join Link'; - }, 2000); - }); - } + xhr.send(formData); }); - \ No newline at end of file +