From fc4e8ae8514e728cb115796722c1d59cc1d7c4f9 Mon Sep 17 00:00:00 2001 From: essae Date: Tue, 20 May 2025 20:52:46 -0400 Subject: [PATCH] feat: Implement email verification and refactor form logic (partial) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Added ContactService.php and NewsletterService.php for handling verification emails - Introduced POST-based verification and session-driven success rendering - Replaced redirect-based confirmation with inline JS and conditional rendering - Reorganized routes in index.php for controller and closure-based actions - Minor JS improvements to prevent double submission (contact-form.js) - Honeypot field temporarily missing despite prior implementation and HoneypotHelper - SubmissionCheck needs fix for SQL parameter mismatch - EmailHelper missing getMailer() (referenced in services) - General structure drift noted — inventory and cleanup pending --- app/Controllers/ContactController.php | 183 ++-- .../ResendVerficationController.php | 104 ++ app/Controllers/SubscriberController.php | 68 ++ app/Controllers/UnsubscribeController.php | 96 ++ app/Controllers/VerificationController.php | 71 ++ app/Core/Router.php | 126 ++- app/Core/View.php | 41 +- app/Models/SubmissionLogModel.php | 68 ++ app/Services/ContactService.php | 42 + app/Services/NewsletterService.php | 115 +++ app/Utilities/EmailHelper.php | 19 +- app/Utilities/SessionHelper.php | 27 +- app/Utilities/SubmissionCheck.php | 80 +- public/assets/images | 1 + .../person/output_webp/sa-media-office.webp | Bin 0 -> 18230 bytes .../img/person/output_webp/sa-polka-dot.webp | Bin 0 -> 22460 bytes .../img/person/output_webp/sa-shadows.webp | Bin 0 -> 51962 bytes .../img/person/output_webp/sb-linkedin2.webp | Bin 0 -> 38958 bytes public/assets/img/person/sa-media-office.jpg | Bin 0 -> 23686 bytes public/assets/img/person/sa-media-office.webp | Bin 0 -> 18230 bytes public/assets/img/person/sa-polka-dot.jpg | Bin 0 -> 135888 bytes public/assets/img/person/sa-polka-dot.webp | Bin 0 -> 22460 bytes public/assets/img/person/sa-shadows.webp | Bin 0 -> 51962 bytes public/assets/img/person/sb-linkedin2.jpg | Bin 0 -> 112969 bytes public/assets/img/person/sb-linkedin2.webp | Bin 0 -> 38958 bytes public/assets/img/testimonials/Dionne.jpg | Bin 0 -> 7698 bytes public/assets/img/testimonials/Dionne.webp | Bin 0 -> 2144 bytes .../img/testimonials/dionne-bowers.webp | Bin 0 -> 47924 bytes .../img/testimonials/richard-bailey.webp | Bin 0 -> 115774 bytes .../img/testimonials/sheldon-williams.webp | Bin 0 -> 89006 bytes public/assets/js/contact-form.js | 38 +- public/index.php | 68 +- resources/views/layouts/arsha.php | 100 +- resources/views/layouts/footer.php | 111 +- resources/views/layouts/head.php | 89 +- resources/views/layouts/header.php | 17 +- resources/views/pages/contact_check_email.php | 41 + resources/views/pages/landing-.php | 130 +++ resources/views/pages/landing.php | 952 +----------------- resources/views/pages/unsubscribe_confirm.php | 29 + resources/views/pages/unsubscribe_failed.php | 17 + resources/views/pages/unsubscribe_success.php | 22 + resources/views/pages/verify_failed.php | 49 + resources/views/pages/verify_success.php | 53 + resources/views/partials/about.php | 31 + resources/views/partials/call-to-action.php | 18 + resources/views/partials/clients.php | 41 + resources/views/partials/contact.php | 124 +++ resources/views/partials/faq.php | 57 ++ .../helpdeskplus-pricing.php} | 0 resources/views/partials/hero.php | 57 +- resources/views/partials/navbar.php | 29 +- resources/views/partials/services.php | 61 ++ resources/views/partials/skills.php | 43 + resources/views/partials/team.php | 60 ++ resources/views/partials/testimonials.php | 61 ++ resources/views/partials/why-us.php | 51 + resources/views/partials/work-process.php | 67 ++ scripts/convert-to-square-webp.sh | 70 ++ 59 files changed, 2218 insertions(+), 1309 deletions(-) create mode 100644 app/Controllers/ResendVerficationController.php create mode 100644 app/Controllers/SubscriberController.php create mode 100644 app/Controllers/UnsubscribeController.php create mode 100644 app/Controllers/VerificationController.php create mode 100644 app/Models/SubmissionLogModel.php create mode 100644 app/Services/ContactService.php create mode 100644 app/Services/NewsletterService.php create mode 120000 public/assets/images create mode 100644 public/assets/img/person/output_webp/sa-media-office.webp create mode 100644 public/assets/img/person/output_webp/sa-polka-dot.webp create mode 100644 public/assets/img/person/output_webp/sa-shadows.webp create mode 100644 public/assets/img/person/output_webp/sb-linkedin2.webp create mode 100644 public/assets/img/person/sa-media-office.jpg create mode 100644 public/assets/img/person/sa-media-office.webp create mode 100644 public/assets/img/person/sa-polka-dot.jpg create mode 100644 public/assets/img/person/sa-polka-dot.webp create mode 100644 public/assets/img/person/sa-shadows.webp create mode 100644 public/assets/img/person/sb-linkedin2.jpg create mode 100644 public/assets/img/person/sb-linkedin2.webp create mode 100644 public/assets/img/testimonials/Dionne.jpg create mode 100644 public/assets/img/testimonials/Dionne.webp create mode 100644 public/assets/img/testimonials/dionne-bowers.webp create mode 100644 public/assets/img/testimonials/richard-bailey.webp create mode 100644 public/assets/img/testimonials/sheldon-williams.webp create mode 100644 resources/views/pages/contact_check_email.php create mode 100644 resources/views/pages/landing-.php create mode 100644 resources/views/pages/unsubscribe_confirm.php create mode 100644 resources/views/pages/unsubscribe_failed.php create mode 100644 resources/views/pages/unsubscribe_success.php create mode 100644 resources/views/pages/verify_failed.php create mode 100644 resources/views/pages/verify_success.php create mode 100644 resources/views/partials/about.php create mode 100644 resources/views/partials/call-to-action.php create mode 100644 resources/views/partials/clients.php create mode 100644 resources/views/partials/contact.php create mode 100644 resources/views/partials/faq.php rename resources/views/{pages/helpdeskplus-pricing.html => partials/helpdeskplus-pricing.php} (100%) create mode 100644 resources/views/partials/services.php create mode 100644 resources/views/partials/skills.php create mode 100644 resources/views/partials/team.php create mode 100644 resources/views/partials/testimonials.php create mode 100644 resources/views/partials/why-us.php create mode 100644 resources/views/partials/work-process.php create mode 100755 scripts/convert-to-square-webp.sh diff --git a/app/Controllers/ContactController.php b/app/Controllers/ContactController.php index b0ff36f..e31a2ad 100644 --- a/app/Controllers/ContactController.php +++ b/app/Controllers/ContactController.php @@ -1,9 +1,9 @@ Sanitizer::sanitizeString($_POST['first_name'] ?? ''), + 'last_name' => Sanitizer::sanitizeString($_POST['last_name'] ?? ''), + 'email' => Sanitizer::sanitizeString($_POST['email'] ?? ''), + 'phone' => Sanitizer::sanitizeString($_POST['phone'] ?? ''), + 'subject' => Sanitizer::sanitizeString($_POST['subject'] ?? ''), + 'message' => Sanitizer::sanitizeString($_POST['message'] ?? ''), + 'ip_address' => $_SERVER['REMOTE_ADDR'] ?? 'unknown', + 'user_agent' => $_SERVER['HTTP_USER_AGENT'] ?? 'unknown', + ]; - try { - $formData = [ - 'first_name' => Sanitizer::sanitizeString($_POST['first_name'] ?? ''), - 'last_name' => Sanitizer::sanitizeString($_POST['last_name'] ?? ''), - 'email' => Sanitizer::sanitizeString($_POST['email'] ?? ''), - 'phone' => Sanitizer::sanitizeString($_POST['phone'] ?? ''), - 'subject' => Sanitizer::sanitizeString($_POST['subject'] ?? ''), - 'message' => Sanitizer::sanitizeString($_POST['message'] ?? ''), - 'ip_address' => $_SERVER['REMOTE_ADDR'] ?? 'unknown', - 'user_agent' => $_SERVER['HTTP_USER_AGENT'] ?? 'unknown', - ]; + foreach ($formData as $key => $value) { + Logger::info("Sanitized input: {$key} = {$value}"); + } - foreach ($formData as $key => $value) { - Logger::info("Sanitized input: {$key} = {$value}"); - } + if ( + empty($formData['first_name']) || + empty($formData['last_name']) || + empty($formData['email']) || + empty($formData['phone']) || + empty($formData['subject']) || + empty($formData['message']) || + !Validator::isEmail($formData['email']) + ) { + Logger::info("Validation failed for contact form submission"); + $_SESSION['contact_error'] = 'An internal error occurred. Please try again later.'; + SessionHelper::writeClose(); + header("Location: /#contact"); + exit; + } - // Validate required fields - if ( - empty($formData['first_name']) || - empty($formData['last_name']) || - empty($formData['email']) || - empty($formData['phone']) || - empty($formData['subject']) || - empty($formData['message']) || - !Validator::isEmail($formData['email']) - ) { - Logger::info("Validation failed for contact form submission"); + $db = Database::getConnection(); + + $evaluation = SubmissionCheck::evaluate($db, $formData['email'], $formData['phone'], $formData['ip_address']); + Logger::info("Submission evaluation result: " . json_encode($evaluation)); + + if ($evaluation['action'] === 'block') { + $_SESSION['contact_error'] = "Submission blocked due to suspicious activity. If this is a mistake, please contact us directly."; + Logger::warning("Blocked submission from IP: {$formData['ip_address']}, Reason: {$evaluation['reason']}"); + EmailHelper::alertAdmins('Blocked Submission Detected', "A submission was blocked for the following reason: {$evaluation['reason']}", $formData); + SessionHelper::writeClose(); + header("Location: /#contact"); + exit; + } + + $logId = null; + try { + $logStmt = $db->prepare("INSERT INTO submission_logs (email, phone, ip_address, user_agent, was_saved, reason) VALUES (:email, :phone, :ip, :ua, :saved, :reason)"); + $logStmt->execute([ + ':email' => $formData['email'], + ':phone' => $formData['phone'], + ':ip' => $formData['ip_address'], + ':ua' => $formData['user_agent'], + ':saved' => 0, + ':reason' => $evaluation['reason'], + ]); + $logId = $db->lastInsertId(); + } catch (\Throwable $e) { + Logger::error("Failed to insert into submission_logs: " . $e->getMessage()); + } + + $contactModel = new ContactModel($db); + $saveSuccess = $contactModel->saveContactForm($formData); + + $contactId = $db->lastInsertId(); + $verificationCode = bin2hex(random_bytes(16)); + $expiresAt = (new \DateTime('+72 hours'))->format('Y-m-d H:i:s'); + + if ($saveSuccess) { + $stmt = $db->prepare("UPDATE contact_messages SET verification_code = ?, is_verified = 0, verification_expires_at = ? WHERE id = ?"); + $stmt->execute([$verificationCode, $expiresAt, $contactId]); + ContactService::sendVerificationEmail($formData['email'], $verificationCode); + } + + if ($saveSuccess && $logId) { + $update = $db->prepare("UPDATE submission_logs SET was_saved = 1 WHERE id = :id"); + $update->execute([':id' => $logId]); + } + + // Newsletter opt-in logic + if (!empty($_POST['subscribe_newsletter'])) { + Logger::info("Contact opted into newsletter: {$formData['email']}"); + NewsletterService::subscribeOrResend($formData['email']); + } + + Logger::info("✅ Writing session flag: contact_success = true"); + Logger::info("✅ Session content before redirect: " . json_encode($_SESSION)); + + SessionHelper::writeClose(); + View::render('pages/contact_check_email'); + return; + + } catch (\Throwable $e) { + Logger::error("Fatal error in ContactController::submit: " . $e->getMessage()); + EmailHelper::alertAdmins('ContactController::submit - Uncaught Exception', $e->getMessage(), $_POST ?? []); $_SESSION['contact_error'] = 'An internal error occurred. Please try again later.'; - - header("Location: /?contact_error=1#contact"); - + SessionHelper::writeClose(); + Logger::info("✅ Writing session flag: catch contact_error = " . $_SESSION['contact_error']); + Logger::info("✅ Session content before redirect: " . json_encode($_SESSION)); + header("Location: /#contact"); exit; - } - - // Save to DB - $db = Database::getConnection(); - $contactModel = new ContactModel($db); - $saveSuccess = $contactModel->saveContactForm($formData); - - // Send to sales team - $emailSuccess = EmailHelper::sendContactNotification($formData); - - // Send confirmation to user - $confirmationSuccess = EmailHelper::sendConfirmationToUser($formData); - - if ($saveSuccess && $emailSuccess) { - $_SESSION['contact_success'] = true; - - } else { - Logger::error("Form processed but saveSuccess={$saveSuccess}, emailSuccess={$emailSuccess}"); - $_SESSION['contact_error'] = 'Your message was received but an internal error occurred. A confirmation may not have been sent.'; - - EmailHelper::alertAdmins('ContactController::submit - DB or email failure', 'Partial failure', $formData); - } - - if (!$confirmationSuccess) { - Logger::error("Confirmation email failed to send to user: {$formData['email']}"); - // Don't show user error — it's non-critical - } - Logger::info("✅ Writing session flag: contact_success = true"); - Logger::info("✅ Session content before redirect: " . json_encode($_SESSION)); - - header("Location: /?contact_submitted=1#contact"); - - exit; - - } catch (\Throwable $e) { - Logger::error("Fatal error in ContactController::submit: " . $e->getMessage()); - EmailHelper::alertAdmins('ContactController::submit - Uncaught Exception', $e->getMessage(), $_POST ?? []); - $_SESSION['contact_error'] = 'An internal error occurred. Please try again later.'; - - Logger::info("✅ Writing session flag: catch contact_error = " . $_SESSION['contact_error']); - Logger::info("✅ Session content before redirect: " . json_encode($_SESSION)); - header("Location: /?contact_error=2#contact"); - - exit; } } - -} diff --git a/app/Controllers/ResendVerficationController.php b/app/Controllers/ResendVerficationController.php new file mode 100644 index 0000000..1742120 --- /dev/null +++ b/app/Controllers/ResendVerficationController.php @@ -0,0 +1,104 @@ + 'Invalid email or type.']); + return; + } + + try { + $db = Database::getConnection(); + + // Rate limit: no more than 3 per day + $dailyCheck = $db->prepare("SELECT COUNT(*) FROM verification_attempts WHERE email = ? AND type = ? AND attempted_at >= NOW() - INTERVAL 1 DAY"); + $dailyCheck->execute([$email, $type]); + $dailyCount = $dailyCheck->fetchColumn(); + + if ($dailyCount >= 3) { + View::render('pages/verify_failed', ['reason' => 'You have reached the daily resend limit. Please try again tomorrow.']); + return; + } + + // Rate limit: no more than 1 every 5 minutes + $recentCheck = $db->prepare("SELECT COUNT(*) FROM verification_attempts WHERE email = ? AND type = ? AND attempted_at >= NOW() - INTERVAL 5 MINUTE"); + $recentCheck->execute([$email, $type]); + $recentCount = $recentCheck->fetchColumn(); + + if ($recentCount > 0) { + View::render('pages/verify_failed', ['reason' => 'You must wait a few minutes before requesting another verification email.']); + return; + } + + // Log attempt + $log = $db->prepare("INSERT INTO verification_attempts (email, type, attempted_at, ip_address, user_agent) VALUES (?, ?, NOW(), ?, ?)"); + $log->execute([ + $email, + $type, + $_SERVER['REMOTE_ADDR'] ?? 'unknown', + $_SERVER['HTTP_USER_AGENT'] ?? 'unknown', + ]); + + $code = bin2hex(random_bytes(16)); + $expiry = (new \DateTime())->modify('+72 hours')->format('Y-m-d H:i:s'); + + if ($type === 'newsletter') { + $stmt = $db->prepare("SELECT id, is_verified FROM subscribers WHERE email = ?"); + $stmt->execute([$email]); + $row = $stmt->fetch(); + + if (!$row || (int)$row['is_verified'] === 1) { + View::render('pages/verify_failed', ['reason' => 'Email is already verified or not found.']); + return; + } + + $update = $db->prepare("UPDATE subscribers SET verification_code = ?, is_verified = 0, verification_expires_at = ? WHERE id = ?"); + $update->execute([$code, $expiry, $row['id']]); + NewsletterService::sendVerificationEmail($email, $code); + } + + if ($type === 'contact') { + $stmt = $db->prepare("SELECT id, is_verified FROM contact_messages WHERE email = ? ORDER BY created_at DESC LIMIT 1"); + $stmt->execute([$email]); + $row = $stmt->fetch(); + + if (!$row || (int)$row['is_verified'] === 1) { + View::render('pages/verify_failed', ['reason' => 'Email is already verified or not found.']); + return; + } + + $update = $db->prepare("UPDATE contact_messages SET verification_code = ?, is_verified = 0, verification_expires_at = ? WHERE id = ?"); + $update->execute([$code, $expiry, $row['id']]); + ContactService::sendVerificationEmail($email, $code); + } + + View::render('pages/verify_success', [ + 'type' => $type, + 'message' => 'We just sent you a new verification link.' + ]); + } catch (\Throwable $e) { + Logger::error("Resend verification failed: " . $e->getMessage()); + View::render('pages/verify_failed', ['reason' => 'Unexpected error occurred.']); + } + } +} \ No newline at end of file diff --git a/app/Controllers/SubscriberController.php b/app/Controllers/SubscriberController.php new file mode 100644 index 0000000..6f8affb --- /dev/null +++ b/app/Controllers/SubscriberController.php @@ -0,0 +1,68 @@ + 'Missing email address.']); + return; + } + + $db = Database::getConnection(); + $stmt = $db->prepare("SELECT id FROM subscribers WHERE email = ?"); + $stmt->execute([$email]); + $subscriber = $stmt->fetch(); + + if (!$subscriber) { + Logger::error("Subscriber update failed: not found [$email]."); + View::render('pages/verify_failed', ['reason' => 'Subscriber not found.']); + return; + } + + $stmt = $db->prepare("UPDATE subscribers SET first_name = ?, last_name = ? WHERE id = ?"); + $stmt->execute([$firstName, $lastName, $subscriber['id']]); + + Logger::info("Subscriber updated: $email"); + $_SESSION['update_success'] = true; + $_SESSION['update_type'] = 'newsletter'; + + header("Location: /verify-success"); + exit; + } catch (\Throwable $e) { + Logger::error("Subscriber update error for $email: " . $e->getMessage()); + ErrorHandler::exception($e); + View::render('pages/verify_failed', ['reason' => 'An error occurred while updating your info.']); + } + } +} diff --git a/app/Controllers/UnsubscribeController.php b/app/Controllers/UnsubscribeController.php new file mode 100644 index 0000000..8d8d161 --- /dev/null +++ b/app/Controllers/UnsubscribeController.php @@ -0,0 +1,96 @@ + 'No email provided.']); + return; + } + + $db = Database::getConnection(); + $stmt = $db->prepare("SELECT is_verified, unsubscribed_at FROM subscribers WHERE email = ?"); + $stmt->execute([$email]); + $subscriber = $stmt->fetch(); + + if (!$subscriber) { + Logger::error("Unsubscribe: Subscriber not found [$email]"); + View::render('pages/unsubscribe_failed', ['reason' => 'Subscriber not found.']); + return; + } + + if ($subscriber['unsubscribed_at']) { + View::render('pages/unsubscribe_success', ['email' => $email, 'alreadyUnsubscribed' => true]); + return; + } + + View::render('pages/unsubscribe_confirm', ['email' => $email]); + } catch (\Throwable $e) { + Logger::error("Unsubscribe view error: " . $e->getMessage()); + ErrorHandler::exception($e); + View::render('pages/unsubscribe_failed', ['reason' => 'An unexpected error occurred.']); + } + } + + /** + * POST /unsubscribe + * Perform the actual unsubscribe action. + */ + public function process(): void + { + try { + $email = trim($_POST['email'] ?? ''); + $reason = trim($_POST['unsubscribe_reason'] ?? ''); + + if (empty($email)) { + Logger::error("Unsubscribe form submitted without email."); + View::render('pages/unsubscribe_failed', ['reason' => 'No email address was provided.']); + return; + } + + $db = Database::getConnection(); + $stmt = $db->prepare("SELECT id FROM subscribers WHERE email = ?"); + $stmt->execute([$email]); + $subscriber = $stmt->fetch(); + + if (!$subscriber) { + Logger::error("Unsubscribe: Subscriber not found during processing [$email]"); + View::render('pages/unsubscribe_failed', ['reason' => 'Subscriber not found.']); + return; + } + + $stmt = $db->prepare("UPDATE subscribers SET unsubscribed_at = NOW(), unsubscribe_reason = ? WHERE id = ?"); + $stmt->execute([$reason, $subscriber['id']]); + + Logger::info("Subscriber unsubscribed: $email"); + View::render('pages/unsubscribe_success', ['email' => $email]); + } catch (\Throwable $e) { + Logger::error("Unsubscribe processing error for $email: " . $e->getMessage()); + ErrorHandler::exception($e); + View::render('pages/unsubscribe_failed', ['reason' => 'An error occurred while processing your unsubscribe.']); + } + } +} diff --git a/app/Controllers/VerificationController.php b/app/Controllers/VerificationController.php new file mode 100644 index 0000000..f372abc --- /dev/null +++ b/app/Controllers/VerificationController.php @@ -0,0 +1,71 @@ + 'No verification code provided.']); + return; + } + + $db = Database::getConnection(); + + // Check subscribers table + $stmt = $db->prepare("SELECT id, is_verified, email, verification_expires_at FROM subscribers WHERE verification_code = ?"); + $stmt->execute([$code]); + $subscriber = $stmt->fetch(); + + // Log verification attempt (even if failed) + $logAttempt = $db->prepare("INSERT INTO verification_attempts (email, type, attempted_at, ip_address, user_agent) VALUES (?, ?, NOW(), ?, ?)"); + $logAttempt->execute([ + $subscriber['email'] ?? '[unknown]', + 'newsletter', + $_SERVER['REMOTE_ADDR'] ?? 'unknown', + $_SERVER['HTTP_USER_AGENT'] ?? 'unknown' + ]); + + if ($subscriber) { + if (!empty($subscriber['verification_expires_at']) && strtotime($subscriber['verification_expires_at']) < time()) { + View::render('pages/verify_failed', ['reason' => 'Your verification link has expired. Please request a new one.']); + return; + } + + if ((int) $subscriber['is_verified'] === 1) { + View::render('pages/verify_success', ['type' => 'newsletter', 'message' => 'This subscription has already been verified.']); + return; + } + + $update = $db->prepare("UPDATE subscribers SET is_verified = 1, verification_code = NULL WHERE id = ?"); + $update->execute([$subscriber['id']]); + + Logger::info("Subscriber verified: ID " . $subscriber['id']); + View::render('pages/verify_success', ['type' => 'newsletter']); + return; + } + + Logger::error("Invalid or expired verification code: $code"); + View::render('pages/verify_failed', ['reason' => 'Verification code is invalid or expired.']); + } catch (\Throwable $e) { + Logger::error("Verification exception: " . $e->getMessage()); + View::render('pages/verify_failed', ['reason' => 'An error occurred during verification.']); + } + } +} diff --git a/app/Core/Router.php b/app/Core/Router.php index 9f89ddd..f516352 100644 --- a/app/Core/Router.php +++ b/app/Core/Router.php @@ -3,10 +3,9 @@ * ============================================ * File: Router.php * Path: /app/Core/ - * Purpose: Core router handling HTTP method–specific route dispatching. - * Version: 1.1 + * Purpose: Core router handling HTTP method–specific route dispatching with dynamic path and closure support. + * Version: 1.3 * Author: Wizdom Networks - * Usage: Handles all GET/POST routing to controllers. * ============================================ */ @@ -22,16 +21,45 @@ class Router /** * Registers a new route. * - * @param string $path The URL path (e.g. /contact). + * @param string $path The URL path (e.g. /contact or /verify/{code}). * @param string $controller The fully qualified controller class. * @param string $method The method name in the controller. * @param string $httpMethod HTTP method (GET, POST, etc.), defaults to GET. */ public function add(string $path, string $controller, string $method, string $httpMethod = 'GET'): void { - $routeKey = strtoupper($httpMethod) . ':' . trim($path, '/'); + $normalizedPath = trim($path, '/'); + $routeKey = strtoupper($httpMethod) . ':' . $normalizedPath; + + // Convert path with {param} to regex and store original keys + $paramKeys = []; + $regexPath = preg_replace_callback('/\{([a-zA-Z_][a-zA-Z0-9_]*)\}/', function ($matches) use (&$paramKeys) { + $paramKeys[] = $matches[1]; + return '([^\/]+)'; + }, $normalizedPath); + + $this->routes[$routeKey] = [ + 'controller' => $controller, + 'method' => $method, + 'pattern' => "#^" . $regexPath . "$#", + 'params' => $paramKeys + ]; + Logger::debug("Registering route: [$httpMethod] $path -> $controller::$method"); - $this->routes[$routeKey] = [$controller, $method]; + } + + /** + * Registers a closure-based route. + * + * @param string $path + * @param \Closure $callback + * @param string $httpMethod + */ + public function addClosure(string $path, \Closure $callback, string $httpMethod = 'GET'): void + { + $routeKey = strtoupper($httpMethod) . ':' . trim($path, '/'); + Logger::debug("Registering closure route: [$httpMethod] $path"); + $this->routes[$routeKey] = $callback; } /** @@ -41,41 +69,61 @@ class Router */ public function dispatch($path) { - $httpMethod = $_SERVER['REQUEST_METHOD']; - $routeKey = $httpMethod . ':' . trim($path, '/'); + $httpMethod = strtoupper($_SERVER['REQUEST_METHOD'] ?? 'GET'); + $cleanPath = trim($path, '/'); + $routeKeyBase = $httpMethod . ':'; - Logger::debug("Dispatching [$httpMethod] $path"); - - if (isset($this->routes[$routeKey])) { - [$controllerName, $method] = $this->routes[$routeKey]; - Logger::debug("Matched route -> $controllerName::$method"); - - try { - if (!class_exists($controllerName)) { - throw new \Exception("Controller not found: $controllerName"); - } - - $controller = new $controllerName(); - - if (!method_exists($controller, $method)) { - throw new \Exception("Method $method not found in $controllerName"); - } - - Logger::info("Executing controller: $controllerName::$method"); - $controller->$method(); - } catch (\Throwable $e) { - echo "
";
-                echo "Exception: " . $e->getMessage() . "\n";
-                echo "File: " . $e->getFile() . "\n";
-                echo "Line: " . $e->getLine() . "\n";
-                echo "Trace:\n" . $e->getTraceAsString();
-                echo "
"; - exit; + foreach ($this->routes as $key => $route) { + if (strpos($key, $routeKeyBase) !== 0) { + continue; + } + + $routePattern = $route['pattern'] ?? null; + + // Handle Closure + if ($route instanceof \Closure && $key === $routeKeyBase . $cleanPath) { + Logger::info("Executing closure route: [$httpMethod] $cleanPath"); + $route(); + return; + } + + // Handle dynamic path matches + if ($routePattern && preg_match($routePattern, $cleanPath, $matches)) { + array_shift($matches); // first match is the whole path + + $params = array_combine($route['params'], $matches) ?: []; + $controllerName = $route['controller']; + $method = $route['method']; + + try { + if (!class_exists($controllerName)) { + throw new \Exception("Controller not found: $controllerName"); + } + + $controller = new $controllerName(); + + if (!method_exists($controller, $method)) { + throw new \Exception("Method $method not found in $controllerName"); + } + + Logger::info("Executing controller: $controllerName::$method with params: " . json_encode($params)); + call_user_func_array([$controller, $method], $params); + return; + + } catch (\Throwable $e) { + echo "
";
+                    echo "Exception: " . $e->getMessage() . "\n";
+                    echo "File: " . $e->getFile() . "\n";
+                    echo "Line: " . $e->getLine() . "\n";
+                    echo "Trace:\n" . $e->getTraceAsString();
+                    echo "
"; + exit; + } } - } else { - Logger::error("Route not found: [$httpMethod] $path"); - http_response_code(404); - echo "404 Not Found"; } + + Logger::error("Route not found: [$httpMethod] $path"); + http_response_code(404); + echo "404 Not Found"; } } diff --git a/app/Core/View.php b/app/Core/View.php index 7288ef8..142ee2b 100644 --- a/app/Core/View.php +++ b/app/Core/View.php @@ -2,7 +2,7 @@ // ============================================ // File: View.php -// Version: 1.1 +// Version: 1.2 // Path: app/Core/View.php // Purpose: Handles dynamic view rendering with optional layout wrapping // Project: Wizdom Networks Website @@ -33,6 +33,10 @@ class View public static function render(string $view, array $data = [], ?string $layout = null): void { Logger::debug("Rendering view: $view"); + if (!class_exists('View')) { + class_alias(self::class, 'View'); + } + // Extract data to make variables available in the view extract($data); @@ -68,4 +72,39 @@ class View Logger::debug("Successfully rendered view: $view (no layout)"); } } + /** + * Renders a partial view without applying a layout. + * + * Use this for modular components like hero, services, faq, etc. + * Partial views must reside in: /resources/views/partials/ + * + * @param string $partial The name of the partial (e.g., 'hero', 'faq'). + * You may use dot notation for subdirectories (e.g., 'admin.nav'). + * @param array $data Optional associative array of data to be extracted into the view. + * + * @throws \Exception if the partial file does not exist. + * + * @return void + */ +public static function renderPartial(string $partial, array $data = []): void +{ + Logger::debug("Rendering partial: $partial"); + + // Convert dot notation to path and resolve to full filesystem path + $partialPath = realpath(__DIR__ . "/../../resources/views/partials/" . str_replace('.', '/', $partial) . ".php"); + + Logger::debug("Resolved partial path: $partialPath"); + + if (!$partialPath || !file_exists($partialPath)) { + Logger::error("Partial view not found: $partial | Resolved path: $partialPath"); + throw new \Exception("Partial view not found: $partial"); + } + + // Extract data and include partial + extract($data); + include $partialPath; + + Logger::debug("Successfully rendered partial: $partial"); +} + } diff --git a/app/Models/SubmissionLogModel.php b/app/Models/SubmissionLogModel.php new file mode 100644 index 0000000..1a39f8b --- /dev/null +++ b/app/Models/SubmissionLogModel.php @@ -0,0 +1,68 @@ +db = $db; + } + + /** + * Log a contact form submission attempt. + * + * @param array $data { + * @type string $email The submitted email address. + * @type string|null $phone The submitted phone number. + * @type string|null $ip_address The user's IP address. + * @type string|null $user_agent The user agent string. + * @type bool $was_saved True if saved to contact_messages. + * @type string $reason Classification reason (e.g. 'valid', 'blocked:honeypot'). + * } + * @return bool True on success, false on failure. + */ + public function logAttempt(array $data): bool + { + try { + $sql = "INSERT INTO submission_logs (email, phone, ip_address, user_agent, was_saved, reason) + VALUES (:email, :phone, :ip, :agent, :saved, :reason)"; + $stmt = $this->db->prepare($sql); + return $stmt->execute([ + ':email' => $data['email'], + ':phone' => $data['phone'] ?? null, + ':ip' => $data['ip_address'] ?? null, + ':agent' => $data['user_agent'] ?? null, + ':saved' => $data['was_saved'] ? 1 : 0, + ':reason' => $data['reason'] + ]); + } catch (\Throwable $e) { + Logger::error("Failed to log submission attempt."); + ErrorHandler::exception($e); + return false; + } + } +} diff --git a/app/Services/ContactService.php b/app/Services/ContactService.php new file mode 100644 index 0000000..e77052d --- /dev/null +++ b/app/Services/ContactService.php @@ -0,0 +1,42 @@ +Hello,

+

Thank you for reaching out to Wizdom Networks. To complete your contact request, please verify your email address by clicking the link below:

+

Verify Email Address

+

If you did not submit this request, you can safely ignore this message.

+

– The Wizdom Networks Team

+ HTML; + + Logger::info("Sending contact verification email to: $email"); + return EmailHelper::send($email, $subject, $body); + } +} diff --git a/app/Services/NewsletterService.php b/app/Services/NewsletterService.php new file mode 100644 index 0000000..4446bf7 --- /dev/null +++ b/app/Services/NewsletterService.php @@ -0,0 +1,115 @@ +prepare("SELECT is_verified FROM subscribers WHERE email = ?"); + $stmt->execute([$email]); + $row = $stmt->fetch(); + + if ($row) { + if ((int) $row['is_verified'] === 1) { + Logger::info("Newsletter signup skipped (already verified): $email"); + return false; + } else { + Logger::info("Newsletter re-verification triggered for $email"); + // Optionally regenerate and resend code here + } + } + + $verificationCode = bin2hex(random_bytes(16)); + + if ($row) { + // Update existing unverified entry + $stmt = $db->prepare("UPDATE subscribers SET verification_code = ?, ip_address = ?, user_agent = ?, created_at = NOW() WHERE email = ?"); + $stmt->execute([$verificationCode, $ip, $userAgent, $email]); + } else { + // Insert new record + $stmt = $db->prepare(" + INSERT INTO subscribers (email, verification_code, is_verified, ip_address, user_agent, created_at) + VALUES (?, ?, 0, ?, ?, NOW()) + "); + $stmt->execute([$email, $verificationCode, $ip, $userAgent]); + } + + Logger::info("Newsletter subscription initiated for $email, verification code generated."); + + return self::sendVerificationEmail($email, $verificationCode); + } catch (\Throwable $e) { + Logger::error("Newsletter subscription failed for $email: " . $e->getMessage()); + ErrorHandler::exception($e); + return false; + } + } + + /** + * Sends the newsletter verification email. + * + * @param string $email + * @param string $code + * @return bool True if sent successfully, false otherwise + */ + private static function sendVerificationEmail(string $email, string $code): bool + { + try { + $verifyUrl = $_ENV['BASE_URL'] . "/verify?code=" . urlencode($code); + + $mail = new PHPMailer(true); + $mail->isSMTP(); + $mail->Host = $_ENV['SMTP_HOST']; + $mail->SMTPAuth = true; + $mail->Username = $_ENV['SMTP_USER']; + $mail->Password = $_ENV['SMTP_PASS']; + $mail->SMTPSecure = $_ENV['SMTP_SECURE'] ?? 'tls'; + $mail->Port = $_ENV['SMTP_PORT'] ?? 587; + + $mail->setFrom($_ENV['MAIL_FROM'], $_ENV['MAIL_FROM_NAME']); + $mail->addAddress($email); + $mail->Subject = 'Confirm your subscription to Wizdom Networks'; + $mail->isHTML(true); + $mail->Body = " +

Thank you for subscribing to the Wizdom Networks newsletter!

+

Please click the link below to confirm your subscription:

+

Confirm My Subscription

+

If you did not request this, you can safely ignore this email.

+ "; + + $mail->send(); + Logger::info("Verification email sent to $email"); + return true; + } catch (MailException $e) { + Logger::error("Failed to send verification email to $email: " . $e->getMessage()); + ErrorHandler::exception($e); + return false; + } + } +} diff --git a/app/Utilities/EmailHelper.php b/app/Utilities/EmailHelper.php index bb9e136..7ec3b39 100644 --- a/app/Utilities/EmailHelper.php +++ b/app/Utilities/EmailHelper.php @@ -1,7 +1,7 @@ addAddress($to); + $mail->Subject = $subject; + $mail->Body = $body; + $mail->isHTML(true); + + return $mail->send(); + } catch (\Throwable $e) { + Logger::error("Email send failed to $to: " . $e->getMessage()); + return false; + } +} + + private static function buildContactHtmlBody(array $data): string { return " diff --git a/app/Utilities/SessionHelper.php b/app/Utilities/SessionHelper.php index b956a8b..00bce6e 100644 --- a/app/Utilities/SessionHelper.php +++ b/app/Utilities/SessionHelper.php @@ -1,7 +1,7 @@ = NOW() - INTERVAL :days DAY) AS email_hits, + (SELECT COUNT(*) FROM submission_logs WHERE phone = :phone AND created_at >= NOW() - INTERVAL :days DAY) AS phone_hits, + (SELECT COUNT(*) FROM submission_logs WHERE ip_address = :ip AND created_at >= NOW() - INTERVAL :days DAY) AS ip_hits, + (SELECT COUNT(*) FROM submission_logs WHERE ip_address = :ip AND created_at >= NOW() - INTERVAL 1 HOUR) AS ip_hourly + "; - $sql = "SELECT $timestampField FROM $table WHERE $emailField = :email ORDER BY $timestampField DESC LIMIT 1"; - $stmt = $pdo->prepare($sql); - $stmt->execute(['email' => $email]); + $stmt = $pdo->prepare($query); + $stmt->bindValue(':email', $email); + $stmt->bindValue(':phone', $phone); + $stmt->bindValue(':ip', $ip); + $stmt->bindValue(':days', self::LOOKBACK_DAYS, PDO::PARAM_INT); + $stmt->execute(); + $data = $stmt->fetch(PDO::FETCH_ASSOC); - $row = $stmt->fetch(PDO::FETCH_ASSOC); + $emailHits = (int)($data['email_hits'] ?? 0); + $phoneHits = (int)($data['phone_hits'] ?? 0); + $ipHits = (int)($data['ip_hits'] ?? 0); + $ipHourly = (int)($data['ip_hourly'] ?? 0); - if ($row && isset($row[$timestampField])) { - $last = new \DateTime($row[$timestampField]); - $cutoff = (new \DateTime())->modify("-{$days} days"); + $totalScore = $emailHits + $phoneHits + $ipHits; - if ($last >= $cutoff) { - return ['submitted_at' => $last->format('Y-m-d H:i:s')]; + if ($emailHits >= 4 || $phoneHits >= 4 || $ipHits >= 5) { + return ['action' => 'block', 'reason' => 'IP/email/phone threshold exceeded', 'count' => $totalScore]; + } + if ($ipHourly >= 3) { + return ['action' => 'flag', 'reason' => 'Multiple submissions from IP in last hour', 'count' => $ipHourly]; + } + if ($totalScore >= 6) { + return ['action' => 'notify', 'reason' => 'Cumulative signal from all identifiers', 'count' => $totalScore]; + } + if ($emailHits >= 2 || $phoneHits >= 2 || $ipHits >= 2) { + return ['action' => 'flag', 'reason' => 'Repeated pattern detected', 'count' => $totalScore]; } - } - return null; + return ['action' => 'accept', 'reason' => 'accepted', 'count' => $totalScore]; + + } catch (\Throwable $e) { + Logger::error("SubmissionCheck evaluation failed: " . $e->getMessage()); + return ['action' => 'error', 'reason' => 'Evaluation error', 'count' => 0]; + } } } diff --git a/public/assets/images b/public/assets/images new file mode 120000 index 0000000..6aa9f65 --- /dev/null +++ b/public/assets/images @@ -0,0 +1 @@ +/var/www/html/dev.wizdom.ca/public/assets/img \ No newline at end of file diff --git a/public/assets/img/person/output_webp/sa-media-office.webp b/public/assets/img/person/output_webp/sa-media-office.webp new file mode 100644 index 0000000000000000000000000000000000000000..0962a7231d55e46cde907dabff5c0e912a14800e GIT binary patch literal 18230 zcmV(vKHZS&X_S~yFclZwz|EchO^{@3lzhT5fe8le2Oa1*ER)k)|o$tuz zKZG1tRzxt0qXkQP!I;}+m#TJAD3HU?X2)@l+nGrqoL~$Gp&QyYl=Se{GWj+3sG7}?!+LmB^Ru$Zhr*(tTh0}URqGT2( zK7s`vGh=%=B$C)v^K;gkaEQ+2LC!&5POk-$L(sEHrHn8p)cnI9P?+{ndm@i7c!Xki zG%1#*p`bwI$W!Clo*iH6BYM55b&XD>dgAfRGglFCji?zcQlz3nHzWo&*o(=>gK(z> zAZSK63ak{}o3;2{{px*uI_}(>B-R|cd3_;Na@4avdE7pkMFhXa$%Sars7Z`kSgr-P zP;E916tbklV>K)JPV#szhs#2PQ-;rgy+*gWEZ7At3;17EH1Ce@e^1Pne3MAAr=YW6 z9xy`4+8Z+KOAQx$?6_uf_Vf#e%!HVLRV2WA;^U{XE4eL_}}!!(F@0 zLhdXL&6GLa@kpx(s9ZKWQ|)IehWR?zu#D^In_>I?^Ic6yK;!U!VDBB zD~ncXy&|o9(@v@%n5}76{Xb9M_{mYG@3w^;uz;p*oFa!pB)VJJnJIrs3`8q>uAxT- zjb>Exs5-SgLet9wM1-NwT8-p zsU`)Qt$a?7p>)DvzIp()an>^X3iUfnV)+k^^+x$z{i4%aexWY0Go9G47>+D=jXN~B zhzHVCbES<)+a7YT&X!_z&3p+Ohv_E~!ZN0EBl^40V8}<)5e3~;4Hb)ZVw=3^%mm$M z=R*~ud$i$_VbJHn(0mqT2MPC^U7Bo)mWfMFZNmB`XC)8gKZK!6u(?M zv6YUq9~>saJ-k`Xg3HC$5qZwyrXqU3@&_a@z$g2Wq~VWhJq**c0KW2#G)tek{kxg zGjgXIR?1E%Z>9~m;hf5AtFV!~V>1fzg>bPDxjGc*qHZxB+Qy_6GWYouBFF9vYkFl^ zm4BmmIb!ce(rMgx>(t88kx&@w_`lun*DG1DVuqN)uN%R}svXPpcu^0a%*3rVB~iNW z(DjI^ZuoLFKE?zZG-;V64y|6a6iCz_Ye_} zvQ7i{FP8!@O=nXD7g+>3jhBp2Y4LKR%QgUeJm6gm2fUE7+*liQ1_Sdc(v!(28W`-W z*2l2#1FJ;eaS_aZiX-_@(TdW6Jv?L%nDXt|%vi0vQ9L8_)!r-5V>xJh2JR@V+N8hPnHz zb$)(?Z<%F@9tDf=l*#vo14%9{po3=DR7qv(BX%R|*voyo-0b_hs$Yg26)bTm5xc;U z9Kl?D}R;cL^sY)w!uaU1?m+`%rKjVi%)tu@16QYDrQ2 zA3XIF{og^v36+9n{0QZdN^7WO?TNSXeVxbTVpM`$phYQ?SVIi_y?5itQ0up?;6Qvj zuJ;i40!3kmMm51@e35z;nPt)rs|8u+F#+r+>nl)Q{R{MoiuN1YLs)gILDRT+Iaup3 zphNAU7vsPJiR(3kkxL~(tS)&m*wEn&$(uYbyJ=PA9T){|hS?Q-G>eHbFuE)@<)any z*7izQPjosBK)?hqdCSG=i<%3`gXyj@Nh%*MmKk=Y`Bg=klqbSXBrU*waC3w?#2Ol0 zn+o<9`C(n4P_M0VU=IxVIB6cg!k#c5Ew9asnNcy~Qps$QF1m@63-A-QMM{&Vqz7wZ z_OHW#zZMe|+Vu4IBK)$PbX!U*>%(~-OZsH6fGbvRqFC-bFh-!u21X(=rQ-{Yum(9& zB04K$10Koy6lTpIO%xz2ucBOG=KKl7>OloDs%}HbXzujWds6pYg~2jlTZ~nFI!@6- z2NH}!2o}O>QSqgT%N0~pj=36F_~)82&bmydeB}1KXSn{}19feF@dl5;HT|AS29K4p z*|>rog>Z7+IuH(~KU;y6JOk7uWoj;#_H)wWA|7_$tJ$i(hj-7r?Hb?6bNx5CSS5$W z*EV{Y@X1SpDsRfgIq}Nuwaa6YSYI&Bcs|I2?DSd(FLWRE-gxK2z#MJmtRYX;())6E zCom}ig`r%9Fv^rMst40x_=4hgcug>P(V>!aLq<`}-z@kWTqPy;WdMqome{Y%rS#Tl zR^kj>=ET+@k0LAlJ9>P(hS~O*3ox(J3wMi7%ujE?kM2ye^v%n?qwLVxI5vasj^FB& z$Zh$YQ?jV>*3}g^IBmmSgGNiMi_2WE(twEfKaVbs18<});s|gE_2ms ziSsJP?m>w-yfc@bX(7~IMKv6Rv)>4EWm>*xeSvY>6cncPL-e{Z+^^k8kZ(x!gbA=vz>qN~qum!Qd0T>F zg0Rn1peZ0)yWfYadO|R3gl&h@WA!*Wlp%ErGHMm}vS32`3#TD_xifr}y_B9m84c@f zl{n=XL7(3zM{FmKQSCM5K88s2NUq9-PHGWMy`0AGW{j3SD!hI-O1S;`85`AA_x?J0 zRC7|JRcj#%5r_HosULtrm&S`7BeANAB*O*XGp{Nd($w?I&7Oj!8Z{ih|vRwxEq z1^?1`7ytV$lS18w%m`AYR#hK}>KRAA3=x-^aq~3ncgn=n^Q%pGx%ZzdWhX~#|9CE( z-0D<$)AHqgFGTwWj31R%SFf^12|=I-8lcmMO`>bIQkwQG?0w4lRA{x^TNr<>y1`w; z21w!AxDyLAsa#-HAc5th?{JkmR!t>Y!snY1kDm~=>;6O^&r-M{&W3|j3xv}@X976s z-Eac}maaKL;WunXkX+s96ptiG>23k*6YH%84ydDIo$Z;S>$@CvN?=Mt@mXrMXR%Z#deQjKktTo# zDn5kr$W=BDuCHa?7W08gPv$bX86vr27TYe*jl-=Q{RO2EMP;db;TaH9^}Ir>-TKn(yflQkeW zAZgD7v9q!OlkSVjO5?vQ2D4c{^va;c{vz?C?mxq6m9OS|Upp=&M6bcGkqPLlg!gPN zd-1SEI*GL`yev&AceUe_6}UVSzDH~tfV}2NB3()kN}X6EqboZBbi}5L6wg^o!B3l} zt(|nU;B2Yqn?u(=5lJeS@`+DoD{4`hVfXxITrmN*Dr7rG+h6mu0)`3|MI(32a*cQhAW-btjGvQ>JRW41C zA5~^?el=YA7$5|LI;yyNv!e`xD{xB{Iy2w7{OM@P)NgeB8=NMzZ=Xn%_dqCRQ=MD6 z(%Qex1ey;bd-#>;7ocw#_3_HykBv-F;!^{Dvs?6-@2lj4?T6XoMfGg$6?6~9GD16C zu{BMgoP=rW&gm=cP6?TmhLC}^B{^QgYJwiDU47P6rU(WE79^BDB%TsUSqP+Vp@X~> zjo)QO-xtOumaqvwZX25w>=Jl#Kw0qnt&i;fX{Z(QQshl(5K02eGxJurwS1O%f_iPm z7ReyYF*f;2@m=6a0+(^-U2vJWB6%S{8`f+dCB >+ zCh1w5K=gmed${#9sNM@EoTY|=S*W!h$8K0NwIL0fDMHdTZB-_jvH|5L_0<#&Nw zRD_MJ2OC%%yW;VK%a-^S10)Ip_{k@5jC49}aza?;SD8Ox*6U#or~%dgyW#3c3R6%x z`6mQC-(iADiybAId0RU+6{ps~#nA7;@B3=pBbamQ_yv*@YfAu#ab9`bC{r9oNy+z& z@qD4r?r6j9Sd0^nVHpE(x))coG0}5Ah&6ns_Qqp{EA=$Qqh6hX=M}=$yTC66|0KYuUtwTm|6w=BX34{h*=sOMa(A`z!yd! z=ksjyO*K4H1Pn~@sizQZgLUoSrZkm6)}Gsw(0I+2I(S*E+?BI79K4<57{(r3Eht&R z7bC1N6?RprvbwYP`tB7BDws*5h~s(8*8){lnceMOMids5BuRd!N15Z z<>80(Mfo9D>Cp-(;2IyWOV-bD5a<$0RwHD5l%?I*tA`9;tO1baYh5q zH0Z&`o`tTd{qD%)QqVxTXiPV#8=TM*yX+Kk0D8vEi6tc;=AR?**58+jDMPbDqVqanpJR~)YnISCEH@ITbuEA2dl~{y z`Sx(g2nHG%HwC!yJM%~fLDMuOgW`iQgD%HNJu-G9gRb*}kFDg|^bdwvpUZulN_h5_ zmxgBeTS)GiYNcPm`p`6SlwsLST&HqP>%t*!9be_t;b?!5G52z;wQoa+RqjJZo0rFj z(R&JF7*FUX@CBZ<>1^>Z=5U$&T&=8#grQ3Uw)6BF?XqR1=-*YVg)b+UjA9BaAJ6#` zIYc$8#1IT$kB^BnLosA$-~AUz*@1| z|Cl+V<41#}Z;rtfid{~E-rRVKXOFkxYQ(Z!$0k&^s1GJT`awp zr@QBr@2OPL1)T?VQC7Z~l3A3-mZtAnRYj70xDB~grbSkk_$uG9#s$&w)JTjDqDos* zqwzR=_!7=J;(o3NxitG2OfIti zP67t>_6rRzv6*__`O#CdQpN;K@^Gk0MW5oW5JlAm%fTua1%n6>dhY;kyr8IIz218| zJ;7x)t`f?YJ;1>eX%}xPf?XAwhq<=ou7h;;@-gwx)>TR6YP_tt{zca zlfkc&30UI8i|;t1aoPSkKj=zsI2t64R`-zVZYyIIu9+YhgJw3{LhhRy7<*+$czXxj zdgd2R#E!+bA6e(Yj!YL172{ESWV9-7;@2LFHI-`WX>4}b}6R88eA&ST6ju0EI+v%Vu5J!q)u2lBS zx!IZdw9phMiF;lg?`pS|k)E|aXYLS;6sx)n8EjVtLQ*Bqo24@K*!#qp#sd|c zm69rJ_>Tyon-1}6j5*@^G#h)!sALGUP~1-$u{Z6;f#R-mtya zDTKL~fH^PU7LFv;g7la)^cvwKgzM0&(c}T9<5d}%WvNSdXNn*O_5_5gr+emHUo;BR z)KUa+kLU9lvWnawFTYtBuF7<(%I&`#VwUc4jj4D=6qpIpm~NT5W{wzh>@Ze)6sGdb zB~mtA8ez!YS_ZU`bFGXb+M5?WZqtuv0@qYKvUrl@l>VBXbysLfvID{8HLc~HQvui9VOxE`_7_jRUrC!&6Cv@Ws4=E=o*1(YSSTn{QaAO3D!ULn+80mpDy zAikL%(7?<0(eDxNHon1;sb5Njv{RooO*{*U*N%YPd*%gykdP%#DMn<3@)l9%-MAe9z!VG6o(hoSCAKmh*iBiq-v zl-HwKLxCmaHlKi1_$P{<4xse_H36cerq`$TqhG7KsFTRadcJdQ@zjt|p5|4E_kir{ zL&*g)jmjJ8^^|cy?>-GUNc$ODSELJs?-HLqW-;=sqEE0c z3sr_f65MHuO_dJSB?0Mo9G}Y34T|8ceQb)Ld`i4~5zp~;jGxy$j>z%Y7Pw)5mVYs6 zbfWdM!au&O(4a~i*0mq@!m!}~oNRv{)5B>3jzQ$tGtcmCSFG%K#-2!Y_opU8kNd5<6n_~I#h zb8sA9@!Q1rNZA+pIcPkcwq6Ev_y265D`ZmVZ|saa;Nyxe#i zf@U#gZKAZ6gr?1R{_A!tV(2y6*Nbv_YRP;AgE}8ncU_BJ7;%Bv`Xnrl;g`N=_>><| zs_(TUWvZLEnSY27&r)J2)ZTts14?yR_V8qFZO*^w2i0bOI{hMLnY=T zhc2#%7+SU1ZiXS>0-=I&zuS|UuwGQ3K*x#&L_}Cw2s8=nXL*>P z$65zBY3Pf&Z^oj6h72_f0a=KIC!)s0+bSsRim9|N5+0S_${hrsMDYQmbD4#4!TlkU z%N`*)80$yiJv|@OqhqcwS~4ZOhAXmfOxxluI9EokoT0#?M(lWfLiDwmrmKTSw~dBo z5OcV1wtLDT{>Zql-)ofv7;Fy}!$yB!bKr&J#2$))ORMWj+u4*GQ@H1fj#$ekMV}aX zf3L~%8ojWDJpTrw@ihRYB49rHp-GFbdJNfqQv+dcvD7HX+XLMO zgHWy@6CSo8#_6;YCDCB(OG^&3#6&#*S)6h++*@G>SCK$VhlO~IMr`Y!B3jpeB#UdO zbhM_&cmTFD3EU=n3T6jnCU*8nbdepavku&an}H3cNuT6Zi8>b zL!d1frnlNe=uio7|M+O~X9ewFabu>cooW!5!dadAhq1BZ}3sPDdd&Y>ueb(?`!$IlvR3IGB$?OybayQ((( zw8`$+dIEmDepxD}(~bD{vbCTSC6L5xpp`zDqt#&&R)RA7!V_LGFYp2z(d<=2(CMNJ z_FuMRFR5{gad^e3kGWm1tHZi!>2~{)8+oTR#$=a}&+VramX2>=MChlJIdg)o(O5jd+C!wIT2;la)U*9xbRTtyr)ApVHI8+VA#zGf1_ z`e6zIdQ2cU19#(rTuRW~pqi+IFaK$MQL%aXLI?4&Yj9DMAiPDztY<>i4Q%GV!;;xi zUS0pb0ZxF?^#|9l3wIiP5~zmH)TTNC!%cgoT>&#?TNX2RE5f=A$s98%9wu$FbxfE{ z1@Z`$#@jk;o)7zo0M?4uy`(}w&S^1zbB2~{*id9LMX@+ZCtyNL02b+~j`XlLWjAYh ztxaXJL%iL(>FEyMr$}3twFG){uZP!~l%L=f(a8h}o5Fa!d5lPo>JU&|>2qv}!q#uZ z5k6AY*#Zj<`36(ltn-B1QMYW($awvAXIMw53;|3UZWLj)4-u+a)$~}iU+yMF2In=yos<3g*oe|izB4nu0J);^Nf6V_6)pPw>|#O-uZ zRUsP8*33Uk{MY5b1Cx@1dvLm6vEv|sV`VeU`;rMMtmO78xw56HdnxPZ*`73wEbTiUC)~yJc>JPDyl5jZ7!CWXbIkv}Wuq9<+z10J)6Nr+G)%6Fg=eB3ke9APc z(W%CWj)ngW*L!D^vf(FE`vWz# z&{Af~7*j|_2lW%DPj_a>M<`(4oi3KHoDwH=+wtECVCvGVYoXmbwsFT2415RCl*~Pp z?v?QG4EIURFRoD^Jnafml?p+W@+DC>wmy_JUlW8-oxCI6?k2 ziOf&vO+fYqQpXBPSAiB7M0BU|{g^fR)o2T|z9iisBIAK8lk!4(v=Zh>RE+f;JIF6S z+^m=2cX7+Ru{b){B#Jf&(7c?dDZ|qAKVVpnLR>a)bCqR<@I8>%Zs@>8fajMC6IKIy zgieu9B>oHJ>E#8hRln>KW9C(c!iJ_jY~W7TAen(F5(Zw4;_ix@lJ zkiAs-Y10P{8FVWAIM>ftX@l`4e79_UuFjGpre---@{OdK6lFG0FEIqjYI+-}5C&Qz z9+byacz&9E>3|=FRNc<+*xiMTm$=|bwB{fj_9kv92S2ElwfDkL_5!qE5;6&}7%+1F z>>ea40Y?iQillhkh<5*lsfyEVKwqmZ4jM^`)^u{*U4FK zdpdBGhy~!FND9N7Taz`OV_w0mJI#@cEyObqvAjdsG&(=CKx_#8MKh}C(8i#9tlo(_ zh=SrXwRL6udfl$|&F*2U`QI?z`n|@Gz!!a?%<*p_1rB`awr4B@zFJ_)xV^fy$n$~6 z?c@(i8C*SCNn@Zh9|%gk$l3zPBvn$(^j#;9nWtG^#RXKx8iqv5ZF9qu4AxmEPM;fh z-~JAcWHy(k)ij0jMg4IPsb1M64t(4T&AQv`!m?{k>pqU1vozDUwcaDFLOq;+_h*6z zDV&{3%NlqEsdSr~XK|X5QD`T_o>t3U;L6a@;mq)2bORS4Lg*)*Z{}^?yujxY_hhY5 z0WK9wtfC542bwJapNZRTo>{SQ;)RZV8k(vKOEBRY+u1F_b9H$|+ICo~eaF%^ljxkB z3l=Mf0&&FOHZ9H8ifL{r4Rl^UR<~(M#@? z;^|8(au&JF`z&8DF$R%4-8?l^#o%=eqCzDvV(1>7SBAPC;|`gbaLh}ML>U(3omeP7 z^P#sXp;#Wt1}t7Z`7xbX3`9gIgZZKlQTb>x(##R3(Y<0c_jtS}_aHcoHrq-T^du7f z?)s+miXM}@B=h^06>ISQ4-;i7-w>nUFf6U<=3u6${Jzr6ba$d8;XeUH42p)Mi~tBk z&=$tUS2DbeTi*WTlAAAD910Sa#Imwe{OHF;7-S*hkr~_GgJ({al4l$4F9MsS1KqFyqu=w~#dI zv;J(){qxEopIXFz-~`7EBJA?>f?y+j4-0j1nY1Mq*Lxpy zi{Vx8fAp0d&_c6#gHM`r2wQIYHHX3y@k+1ondMF;C>p-tYgm^|L`y#{tm)ti3y;yc zvb;X*7a%5bJeHk7$Xsfm1NNFltMC^xDPHu)3!%LlbyHIpX#HjNRK;~~0&$#j4wjSi z^DZut2-c`*1#7(~YlSM#6JMP@8BT6(t$2;(v(J`xSrj|O`3iVeE85Y8N2fJ36(~Pn zS-Xob*>Er{17>vB|CNuD+gkE{$Ei`;8!olG&?McUG;*{^#fa-fIXzbe+;FMPY+s9| z`e1c4><*wEEYGo~(?u#wr$d}(6`Z&O$!G2}7jbvM)1QK@X>(wa$bQ7FVP0zbR#RsF zf;$>}{O;Zfb32<|?ITI;P-?+6g$Qg#%I&9+(6T|{mCNa-!oVC=b`kqQn+`q6M7o^x{X98;ep*v zDA}XN%4E#zLKh;in|5zL5!=cq-df>=N@&!jisQ{Ll_dJgr@VgD^juP!dmOT)BT4q> z6l=3ip2j~A9xavYhCclI{T#-G?MouUd6r2?ljLk(Cux}H=T5DjOMl-;_9Yb(J*o^G zwfoMjqf>7&AFPVR`-|QlGGlOtc92C+09i(|$nT^Y-wQ9FZ0BF)>zBVgee{*ZoRrMh zmow0*)o|0awAnN2tSiwd<|MD$z7Cw)5Olh6u`QYAm^(1}<5H8#un>8yJzI$-IoIIc zpS;cZFMwk+rr0;er#SyxGD_<60`=&b2l{Tkp_1;Ib1n_ zHcINwUr_*@yewyohGkqD&mTP<$AXR{lKmciKFq#_}?SY;LvEn z0C&Q!=sX&(o5n#IlmZ1^w4#A76bhX52AW+aowxirQx>z#@^ZgkQiNOI?IKz|YSF84 zP2JpMleCvUFhrGQu{(-wmR(!@QF!oRE^_3XC|0cRYXNB+*KIf=HQjvj8v>W7A4N(<8LWK;%+Np?fDcQ zVI=7HKbl2N4IH^>L`^z7LZ!^Yha8#MiDr#nL{TDCym!=vVXY`V{C1S4%j z;XW4eE!Y+~)-e%9NWuTD2(ZO~{A>zBt3u%>MV(z`;V;@dCZhtai_ zzUC$RoQV-tg|0o)*jiCR&S)7|5li31p(Ol#Y_=A zvrZ2WMMV+!tAtpewaEw zf;7;RmfhD)vZD7*50vG8P6b_Zot06#57X&BWb2%qqO#av|GDojl3F0F)Yd*E$=;cE zfqPm#B~6jkc}A#5K8b*KiZ|X})XO6{kDPdbJ=@D%Wi;oTJ>$i@8`p1u2-{Yi$b@U~!EZ1z9l1!Y_G+V4EwYE$Kr>_9D z61Un)pc{-^IevZEJ&-b2B%gNH7eO{N?19s&pfFLslA|p3f#9#--f*Ge0wq(NTWsjwZfj>;B9y zwA7ZzTl~Jv{|rFC*D2<7m)0*zbI5^y4Y$=!vacqhyK_**;9Og`DrCA{O73vayjC8+(wMZTb9TQ71}M!bm=VO|+X5DcPg4 zAE=WR?pV4iZvylFe=$0->K{++9B#qzKQosNlYgnuPn}`yOTOHPJn>>Yg3x)!WltT` zsHD(3E;Lo_tC$Y>X)F(AVEK-mJZwMT*%1n^Q|QlA6EKYFu1SE#zf{@Fx!R|NPi>MI zwbi{bO>D_f*QvWweCB4VEO{T#2@t(A1uH{n-sh??WCkSRB&5SGYXzY4J85Y37|5$A z`zOrMqS)CSV2ST-pHYC1ln(pa&YitRG(E&aw?3Q8i-W70q0CkW)$Fe%>!9$_3mP)E zss$B901^y~tvI@1N)o3z%;d;f@-=m(gyq%Hw`~(B+fxMhsrsx&wBfO>$sKXZ9af|P z=|X&-liNb1_92IZclG@^LoEw-*_Wv2LGk-lenHYwRmD+*Xa?OGT#=QD`_}ve`yf0^$VLBaKnk{Wd8oyQp9P zsMs{VGGRmO)H~XidAfiFm4s0hN#WOU#zI+Il`sCU1z(41a9!w8 zh+&>-uarW?QGRC(LX)7>t2{UO{?7xaEhM69r-;J!TJApb=$keJVc|?#JwPg7NZCT4 zA^gCl1tH+~0OuST{=sjKhm`UB?2>+gj2r;@JHE>ql6C%iKeZK_kRXyDzx$Lafy&1*lKF})9U4RWQ==t1JSxaKZSkB->>Gh+2aE!%CA#NIVc+)&wDMDSCE8jh`J+#9Q`fHXYr6p&9?`V%?)1pI^{ZHnCiQC+!E7eQi zYT>T*Ktr}S;&=sa?mur^ltSbUP2q)q zPsxT9lxR+z-S%Fut&rd$u7ImXPZ4>D8U6U*2$AI(U~U_tP?p>Po6bnyoyZ**x5b%s zWn%jbhvn?{%TT^GsJHPKM4yno7>fUSPZ@zvZv5juIrkdAfNw5ZcyZbU~*OTc23 zkANQH$(d~>AQDv>=Cq5KLL>9v;(p|1Z-pS5!*8bF8Z zoKFrO_3nnh5%EoCn2tvU9hYtZKl7E7Z?m;)F%Ko-_uyMzeOB%4&uoZwhrzyd4Ajg? z);hhj19nandUscJ$5_{1?@={@YSy z_UN}6_y^^wtg;`p!PWGH_g`a#t#6w!LGL9zwKKFCj`AH-#E(%fyhtTz=oi?0hq-~J z_g3!_oZ>etYxn>MH`@D|4qJO|=Mi+BM@sDQjGF~3w*(OaLm}nR6Muq_!vjx>ciFRe z-Tk1}R&6j(X$;CwhW}$g6{m5|+!_EgF>J(y4P}9*^3$`G? zUe#Jd8OUEp-#W&Jlr%A@>}wfQJf9iWY&`iPy8-#poX*C5c9-&VjpLV&I`!XpFo2HG z&AX&Vx06_>W;ZgUStvu%`3unVV^GU5e2_0(_+)Vz1Vc>@)XLH$JF82yy>HTE4_Sik z8L60bH57##@_m3nG&`z_Fl#GZvgi}+w=1NQdK@^c^=WIY$l&O3&ocxhTObhcGGVUr zGUZ}{lQ+-Hw9DBvMAc16c+|1_x{lc8h^R#9Bp0+uvs*tXc`*cUU!F?x;1M>j1@(vF zTybfYrW&L%TXag#SxNZ}pB8x8tQ`3yDZ~ul2!hCmMz$u3O`)W%0C)UWkr-m)}2R0_R_=qn`TXIeDaGlz&-=jG~x zN7shU^Kaw505FPC#IofB#Ygm!ns{BXbX08Xtw|v+#vJ*GlSkA0G6okg)&vj8;TWTz;wFTS zI24T^rDJ$d-1)||^?^+SL{GS7O=wWGs@YQaCU|XFXG0o6*2Hznwydc)YHAOBIXF0RDEQGD#F?lGHPVgK(66Z4eXMgFXq|CBC|%>-H) zj29Flf)0F z#Gvm9&H__WZR*MOJAURWTj)?*v{z^&U3F6HY=_ioR!>YMp^fxfy)%|Kv)-x0YbANR zbR-wiStNxXaL=k-BW zmF$|QyUCShgIJK%fSDK@HgFVp0nUEd7s42_AwrMFxNzO~4+!Onaj?(4d5~eCcjz^v`v(4<}vOdo@pmMcq1B zaF>{PY^c;WE^i8vMoq)-snWbIJ)jXw>8jEWdW#?Lc00Y4PMJ1Ps$Za8R7{Uma;#BJ z0X|4we6PQBRACe@zz4+8Ev$4*&VGQ1jY^&fPHZ0?7?01RN#|HZ3b5|YrGj~ zhg{9}k+b-QDj4=MV~gkDY_}Si*4r~C=745kFOOz*=F5vwkg8t|jq_mT^Ctkv-NDt` zC@+?5sYk8_7;od#$J-r;Ty5F@u7IjvEIj-9Yk3jooKLvM=p?9!{7|rczDoyw`VKDt zQFHUDuSKouHIhZc7@OWdv}`!;S3Z!7^enmx^`Z*(?pwQ^j>bRLsulqJIlD}<)$Gw56pf24sUQ;^}EY-kJYAW zn|5bP+iGFNc)IFAO7c}^e?G-RrGV^;=MY_r_hU`I0U-z8_`Hp%#h=G(KmFIB74)%_ zZ-8qWN6r5@0eX7)s0&2>(cIutx^B#eCgTw*PRiE7LRm2pe!7hS|HNmV+J^;x3(?HW zEPC* z$GDiT3Cpx zhCV&=F2o!uZ`6z*F1GM8DIs!Yn{`5IZhTi*YQSmknrqgs^`XZ&>at*?u=s7l$tXd^ zn45+BUnW|r!D+~K&7y7Z+TY}eG*3j=TzTmbWGDo8a7xZVSx-L*7sG^H*m=u}*_5>| z;ui{$FeI?IJNfKIqHqg(ZZ-0C%Lx7yE>#*Pm!bWV=&4OqJUC1C8a)Gd^$fsJ4wGP! zQS8VYBLxVx+z&RSBB&~yvk)Znae*!WVNbL}bh=d$c+`87YfQq?TFWa_ZXApaybbWujl3B^Bomv5uM@(zb<4PgGi5R8wi#q z2r;QSITCGhrtsOVoIB=6aJHsb!a3QsVR$1cj{d5CrBbw_JiYnZK6?dG9s2N_C>) z)`&S(v_NSX15=q}0*)qMR`|LTjsALOWHbu>+aR;}?Fh&%OWo3B_BGM%XY_JAP)|(r z0qMDEiL7f~2>3hcdk!Va>}@Q#AKt?@6^A2?Ygt}eHDb~bcoqi-;XqdmAOI&b6$FBc z2D;t29zddk zqd~u`(`vpv%ND6}g(Y06on)6zJ5^%s=dPnHksv%P7_|UWA~Eg&OjXJXz@l^ze|4^o zBfY$50C^f zgk5|CIgN=R+E~j?TJ=vXf`L&-_9{!3Z4_{ zgl?d~hB7JfFf}J+n7|}_z?hAYS=P)$h5>Tux$yE{4l55gUm*}WtOuXHo+5K3J6%|u zi?&lFTiI>wo5Yx=I-U8paSQv{9OhvPDHgXfKiZ65wSp_fr3=wwXXFJ8NGbpfrt_gH zSV#(mFaE3J-?x3PD;0*s-!GK&>sF+G7&sODA*%7gpWJ0$`pMH?x9j=BZ?o-T;U+EH zdh>G;7F!#Q`w?&3e$z}J=FQnBff55OUu=&L4ZrrJZ_~-jz)y&Pet5EbgP@KEr`zv z2~Z@oGmNd-o<%-2YI?BN)GfDYRCJ#$*AM*0WQ#x@mI)C_5CPwNsjnfe0nRXwv&6$y zG6b&lvI?+**5d`_70H$1BDWZ5H+Gk82?P*aXx~oRW&2(X1MS6RQ4!^f#`7y4x=PPW zTv4|%3DGbh>PRAYR;M-#G41nU9Yg3FG_kF~qA+T&8j)J*SZsw<2oB`iCOsHFW8U7Z za&&Mc?`ppbh`nM3lnU(RNV&n{5K5Ipe1!C@_x_7iRfcA7!qr=CfL1z%Qn`HzRSP!a zq;R4lzyzpPxs=yb>VXT@F$Zb7nFAQ`!cZRkC4?3aAFMsWEZ=HTo0PbY0970?rV652 zy;r~6xZ`iJ6l2u$Mp=kOX_yY6rb(@cIPF_;8G3T>D2%SZ1+`x;xPKwfMy@&RuIrr>E2I>i9v@j6h005#3VZs0a literal 0 HcmV?d00001 diff --git a/public/assets/img/person/output_webp/sa-polka-dot.webp b/public/assets/img/person/output_webp/sa-polka-dot.webp new file mode 100644 index 0000000000000000000000000000000000000000..1335416d3c6ec838b374e190d332ee2dfb67bd9d GIT binary patch literal 22460 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 LzymzbBCEUrO;3-6 literal 0 HcmV?d00001 diff --git a/public/assets/img/person/output_webp/sa-shadows.webp b/public/assets/img/person/output_webp/sa-shadows.webp new file mode 100644 index 0000000000000000000000000000000000000000..597ec515f9d086522cf70fa2539fd47bb12aeccb GIT binary patch literal 51962 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%0D3dA}||V|7ts+ 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 literal 0 HcmV?d00001 diff --git a/public/assets/img/person/output_webp/sb-linkedin2.webp b/public/assets/img/person/output_webp/sb-linkedin2.webp new file mode 100644 index 0000000000000000000000000000000000000000..b48d9d1fa6f967ba1ffd8146b237349815cce312 GIT binary patch literal 38958 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