From fff721dd185f5b97f7ae7a6e64189e55887ff590 Mon Sep 17 00:00:00 2001
From: Jake Vanderwerf <get@jakevanderwerf.ca>
Date: Sun, 05 Jul 2026 18:36:57 +0000
Subject: [PATCH] =Cleaning up the Square integration (still a bit more to do yet). Also majorly overhauled /rest/ files to ignore a rest request 'user' paramater, and rely on get_current_user_id() instead.

---
 inc/managers/LoginManager.php |   32 ++++++++++++++++++++++++--------
 1 files changed, 24 insertions(+), 8 deletions(-)

diff --git a/inc/managers/LoginManager.php b/inc/managers/LoginManager.php
index 68db551..af45d49 100644
--- a/inc/managers/LoginManager.php
+++ b/inc/managers/LoginManager.php
@@ -43,7 +43,7 @@
 		$this->cache = Cache::for('login');
 		$this->cache->flush();
 		// Initialize magic link support if enabled
-		if (Site::has('magicLink')) {
+		if (Site::has('magic_link')) {
 			$this->initMagicLinkSupport();
 		}
 
@@ -65,8 +65,8 @@
 		add_filter( 'logout_url', [$this, 'logoutUrl'], 10, 2 );
 		// Allow other features to register handlers
 		do_action('jvbLoginManagerInit', $this);
-		add_action('user_register', array($this, 'saveRegistrationFields'), 999, 2);
-		add_filter('the_seo_framework_sitemap_exclude_ids', [$this, 'excludeLoginSitemap'], 10, 1);
+		add_action('user_register', [$this, 'saveRegistrationFields'], 50, 2);
+		add_filter('the_seo_framework_sitemap_exclude_ids', [$this, 'excludeLoginSitemap'], 8, 1);
 	}
 	public static function getInstance():self
 	{
@@ -75,7 +75,10 @@
 
 	public function excludeLoginSitemap(array $ids): array
 	{
-		$ids[] = $this->getLoginPage();
+		$loginPage = $this->getLoginPage();
+		if (!empty($loginPage)) {
+			$ids = array_merge($ids, [$loginPage]);
+		}
 		return $ids;
 	}
 	/**************************************************************************
@@ -140,7 +143,7 @@
 					'hint'	=> 'Have a referral code? Paste it here!'
 				];
 			}
-			$canRegister = Registrar::getFeatured('can_register', 'user');
+			$canRegister = Registrar::withFeature('can_register', 'user');
 			if (!empty($canRegister)) {
 				foreach ($canRegister as $role) {
 					$registrar = Registrar::getInstance($role);
@@ -219,12 +222,14 @@
 						'subtype' => 'password',
 						'label' => __('New Password', 'jvb'),
 						'required' => true,
+						'autocomplete'=> 'new-password'
 					],
 					'pass2' => [
 						'type' => 'text',
 						'subtype' => 'password',
 						'label' => __('Confirm Password', 'jvb'),
 						'required' => true,
+						'autocomplete'=> 'new-password'
 					],
 				];
 				break;
@@ -354,7 +359,7 @@
 
 	protected function initMagicLinkSupport(): void
 	{
-		if (!Site::has('magicLink')) {
+		if (!Site::has('magic_link')) {
 			return;
 		}
 	}
@@ -453,6 +458,7 @@
 	protected function customStyles():void
 	{
 		$logo = get_theme_mod('custom_logo');
+		$small = $large = '';
 		if ($logo) {
 			$small = wp_get_attachment_image_src($logo, 'medium')[0]??'';
 			$large = wp_get_attachment_image_src($logo, 'large')[0]??'';
@@ -626,7 +632,7 @@
 		$redirect = !empty($redirect) ? $redirect : esc_attr($_GET['redirect_to'] ?? '');
 
 		return sprintf(
-			'<form name="%sform" method="post" data-action="jvb_%s">
+			'<form name="%sform" method="post" data-action="jvb_%s" data-save="auth/login">
 				%s%s%s
 				<input type="hidden" name="action" value="jvb_%s">
 				<input type="hidden" name="redirect_to" value="%s">
@@ -652,10 +658,19 @@
 			$additionalInputs,
 			$fields,
 			$turnstile,
-			$this->labels['submit'],
+			$this->labels['submit']??$this->determineSubmit($action),
 			$magicLink
 		);
 	}
+		protected function determineSubmit(string $action):string
+		{
+			return match($action) {
+				'rp','resetpass' => 'Reset Password',
+				'register' => 'Register',
+				'lostpassword' => 'Send me a reset link',
+				default => 'Login',
+			};
+		}
 	protected function renderHeader():void
     {
     ?>
@@ -873,6 +888,7 @@
 
     $this->maybeTurnstileScripts();
     wp_enqueue_script('jvb-form');
+	wp_enqueue_script('jvb-login');
     $action = $this->getAction();
 
     $redirect_to = isset($_GET['redirect_to']) ? esc_url_raw($_GET['redirect_to']) : '';

--
Gitblit v1.10.0