From 48721c85ebcfa973ee81719d2467ca80e4253dc9 Mon Sep 17 00:00:00 2001
From: Jake Vanderwerf <get@jakevanderwerf.ca>
Date: Fri, 01 May 2026 17:30:03 +0000
Subject: [PATCH] =Edmonton Ink hard test begins! Real testing of the managers and reset routes will commence. So far, just ensuring our classes are all loaded correctly: Site() and its sub-classes Membership, Login, etc. Care should be taken to load conditionally on 'init', as we finish defining most settings by 'plugins_loaded' at priority 5

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

diff --git a/inc/managers/LoginManager.php b/inc/managers/LoginManager.php
index d86d1e8..ac51292 100644
--- a/inc/managers/LoginManager.php
+++ b/inc/managers/LoginManager.php
@@ -5,7 +5,7 @@
 use JVBase\forms\TaxonomySelector;
 use JVBase\meta\Form;
 
-use WP_Error;
+use JVBase\registrar\Registrar;use WP_Error;
 use WP_User;
 
 if (!defined('ABSPATH')) {
@@ -133,19 +133,19 @@
 					'hint'	=> 'Have a referral code? Paste it here!'
 				];
 			}
-			if (count(JVB_USER) > 1) {
-				foreach (JVB_USER as $slug => $config) {
-					if (!array_key_exists('can_register', $config) || !$config['can_register']) {
-						continue;
-					}
-					$icon = $config['icon'] ?? '';
+			$canRegister = Registrar::getFeatured('can_register', 'user');
+			if (!empty($canRegister)) {
+				foreach ($canRegister as $role) {
+					$registrar = Registrar::getInstance($role);
+					$config = $registrar->getConfig('register');
+					$icon = $registrar->getIcon('user');
 					$icon = ($icon !== '') ? jvbIcon($icon) : '';
-					$select[$slug] = '<span class="label">'.$icon.$config['label'].'</span><span class="text">'.$config['register']['text']??''.'</span>';
-					if (!empty($config['register']['fields']??[])){
-						foreach ($config['register']['fields'] as $field) {
+					$select[$role] = '<span class="label">'.$icon.$registrar->getSingular().'</span><span class="text">'.$config['description']??Site::login()->getDescription('register')??''.'</span>';
+					if (!empty($config['fields'])){
+						foreach ($config['fields'] as $field) {
 							$field['condition'] = [
 								'field'	=> 'user_select',
-								'value'	=> $slug,
+								'value'	=> $role,
 								'operator'	=> '=='
 							];
 							$fields[] = $field;
@@ -289,7 +289,7 @@
 			}
 		}
 	}
-	public function loginUrl(string $login_url, string $redirect, bool $force_reauth):string
+	public function loginUrl(string $login_url, ?string $redirect, bool $force_reauth):string
 	{
 		// This will append /custom-login/ to you main site URL as configured in general settings (ie https://domain.com/custom-login/)
 		$login_url = site_url( '/login/', 'login' );

--
Gitblit v1.10.0