From 772462eeca3002a1d52508aeba485aab2b4742ad Mon Sep 17 00:00:00 2001
From: Jake Vanderwerf <get@jakevanderwerf.ca>
Date: Tue, 03 Mar 2026 19:06:19 +0000
Subject: [PATCH] =MAJOR OVERHAUL. Likely should have made a new branch ages ago. Key changes: Registrar.php is the base for custom post types, taxonomies, and user roles. Replaces JVB_CONTENT, JVB_TAXONOMY, and JVB_USER constants, eliminates most of Features.php (except for JVB_SITE, JVB_MEMBERSHIP), and has built in sanitizing and validation via sub-classes. Also started a major overhaul of the Schema output. Created a shit ton of property traits and classes to help sanitize and ensure proper data for different schema types. Still a bunch to do, but better to be starting committing changes here on this other branch.

---
 inc/registry/FieldRegistry.php |   19 ++++++++++---------
 1 files changed, 10 insertions(+), 9 deletions(-)

diff --git a/inc/registry/FieldRegistry.php b/inc/registry/FieldRegistry.php
index 996e99b..4de8e10 100644
--- a/inc/registry/FieldRegistry.php
+++ b/inc/registry/FieldRegistry.php
@@ -8,7 +8,7 @@
 use JVBase\registry\providers\CalendarFieldProvider;
 use JVBase\registry\providers\CommonFieldProvider;
 use JVBase\registry\providers\FieldProviderInterface;
-use JVBase\registry\providers\HelcimFieldProvider;
+use JVBase\utility\Features;
 use JVBase\registry\providers\IntegrationFieldProvider;
 
 class FieldRegistry
@@ -42,11 +42,6 @@
 		$this->addFieldProvider('common', new CommonFieldProvider());
 		$this->addFieldProvider('calendar', new CalendarFieldProvider());
 		$this->addFieldProvider('integration', new IntegrationFieldProvider());
-//		if (jvbSiteUsesHelcim()) {
-//			$this->addFieldProvider('helcim', new HelcimFieldProvider());
-//		}
-
-
 
 		// Allow extensions to add providers
 		do_action(BASE . 'register_field_providers', $this);
@@ -121,9 +116,7 @@
 
 		// Apply filters for extensibility
 		$fields = apply_filters(BASE . 'fields', $fields, $type, $object_type);
-		$fields = apply_filters(BASE . "{$type}_fields", $fields, $object_type);
-
-		return $fields;
+		return apply_filters(BASE . "{$type}_fields", $fields, $object_type);
 	}
 
 	/**
@@ -167,6 +160,14 @@
 			}
 		}
 
+		if (Features::hasIntegration('helcim') && jvbCheck('use_helcim', $config)) {
+			$helcim = JVB()->connect('helcim');
+			if ($helcim) {
+				$contentType = $config['integrations']['helcim']['content_type'] ?? $helcim->getDefaultContentType();
+				$fields = array_merge($fields, $helcim->getHelcimMeta($contentType));
+			}
+		}
+
 		return $fields;
 	}
 

--
Gitblit v1.10.0