From a24a06002081ad71a78ffeff9072725ba39cf121 Mon Sep 17 00:00:00 2001
From: Jake Vanderwerf <get@jakevanderwerf.ca>
Date: Tue, 17 Feb 2026 20:05:31 +0000
Subject: [PATCH] =minor changes, particularly around the JVB_CHILD_URL pattern

---
 inc/managers/EmailManager.php |   42 +++++++++++++++++++++++++++---------------
 1 files changed, 27 insertions(+), 15 deletions(-)

diff --git a/inc/managers/EmailManager.php b/inc/managers/EmailManager.php
index 2fdd0c6..f1c7e33 100644
--- a/inc/managers/EmailManager.php
+++ b/inc/managers/EmailManager.php
@@ -45,23 +45,23 @@
 
         add_filter('wp_mail_content_type', [$this, 'setHtmlContentType']);
         // User registration emails
-        add_filter('wp_new_user_notification_email', [$this, 'customizeNewUserEmail'], 10, 3);
-        add_filter('wp_new_user_notification_email_admin', [$this, 'customizeNewUserEmailAdmin'], 10, 3);
+        add_filter('wp_new_user_notification_email', [$this, 'customizeNewUserEmail'], 999, 3);
+        add_filter('wp_new_user_notification_email_admin', [$this, 'customizeNewUserEmailAdmin'], 999, 3);
 
         // Password reset emails
-        add_filter('retrieve_password_message', [$this, 'customizePasswordResetEmail'], 10, 4);
-        add_filter('retrieve_password_title', [$this, 'customizePasswordResetTitle'], 10, 3);
+        add_filter('retrieve_password_message', [$this, 'customizePasswordResetEmail'], 999, 4);
+        add_filter('retrieve_password_title', [$this, 'customizePasswordResetTitle'], 999, 3);
 
         // User email change emails
-        add_filter('email_change_email', [$this, 'customizeEmailChangeEmail'], 10, 3);
-        add_filter('new_user_email_content', [$this, 'customizeNewUserEmailContent'], 10, 2);
+        add_filter('email_change_email', [$this, 'customizeEmailChangeEmail'], 999, 3);
+        add_filter('new_user_email_content', [$this, 'customizeNewUserEmailContent'], 999, 2);
 
         // Password change notification
-        add_filter('password_change_email', [$this, 'customizePasswordChangeEmail'], 10, 3);
+        add_filter('password_change_email', [$this, 'customizePasswordChangeEmail'], 999, 3);
 
         // User request/export data emails
-        add_filter('user_request_action_email_content', [$this, 'customizeUserRequestEmail'], 10, 2);
-        add_filter('wp_privacy_personal_data_email_content', [$this, 'customizePersonalDataEmail'], 10, 3);
+        add_filter('user_request_action_email_content', [$this, 'customizeUserRequestEmail'], 999, 2);
+        add_filter('wp_privacy_personal_data_email_content', [$this, 'customizePersonalDataEmail'], 999, 3);
     }
 
     /**
@@ -403,7 +403,11 @@
      */
     public function customizePasswordResetEmail(string $message, string $key, string $user_login, WP_User $user):string
     {
-		$reset_url = network_site_url("wp-login.php?action=rp&key=$key&login=" . rawurlencode($user_login), 'login');
+		return $this->passwordResetEmail($user, $key);
+    }
+
+	public function passwordResetEmail(WP_User $user, string $key):string {
+		$reset_url = network_site_url("login/?action=resetpass&key=$key&login=" . rawurlencode($user->user_login), 'login');
 		$content = sprintf(
 			'<p>Hi %s!</p>
 			<p>We received a request to reset the password for an account associated with this email:</p>
@@ -416,14 +420,18 @@
 			%s
 			<p>This password reset link is only valid for 24 hours.</p>',
 			$user->display_name,
-			$user_login,
+			$user->user_login,
 			$this->button($reset_url,'Reset Password'),
 			$this->link($reset_url),
 			$this->divider()
 		);
-		$content = apply_filters('jvbPasswordResetEmail', $content, $user_login, $user, $reset_url);
-        return $this->getEmailTemplate($content, 'Password Reset');
-    }
+		return apply_filters('jvbPasswordResetEmail', $content, $user->user_login, $user, $reset_url);
+	}
+
+	public function sendPasswordResetEmail(WP_User $user, string $key):bool
+	{
+		return $this->sendEmail($user->user_email, $this->passwordResetTitle(), $this->passwordResetEmail($user, $key), '', 'Reset your Password');
+	}
 
     /**
      * Customize the password reset email title
@@ -434,10 +442,14 @@
      */
     public function customizePasswordResetTitle(string $title, string $user_login, WP_User $user_data):string
     {
+		return $this->passwordResetTitle();
+	}
+
+	public function passwordResetTitle():string
+	{
 		$prefix = JVB_EMAIL['types']['resetPass']['showPrefix']??true;
 		$prefix = ($prefix) ? $this->prefix : '';
 		return $prefix.JVB_EMAIL['types']['resetPass']['subject']?:'Password Reset';
-
 	}
 
     /**

--
Gitblit v1.10.0