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/managers/SEO/SEOAdminPage.php |   28 +++++++++++-----------------
 1 files changed, 11 insertions(+), 17 deletions(-)

diff --git a/inc/managers/SEO/SEOAdminPage.php b/inc/managers/SEO/SEOAdminPage.php
index 63b8671..845b3c8 100644
--- a/inc/managers/SEO/SEOAdminPage.php
+++ b/inc/managers/SEO/SEOAdminPage.php
@@ -3,6 +3,7 @@
 
 use JVBase\managers\AdminPages;
 use JVBase\meta\Form;
+use JVBase\registrar\Registrar;
 use JVBase\ui\Tabs;
 
 if (!defined('ABSPATH')) {
@@ -19,11 +20,11 @@
 class SEOAdminPage
 {
     private ConfigManager $config;
-    private SchemaBuilder $registry;
+//    private SchemaBuilder $registry;
 
     public function __construct()
     {
-        $this->registry = SchemaBuilder::getInstance();
+//        $this->registry = SchemaBuilder::getInstance();
 
 
         // Add to JVB dashboard
@@ -192,23 +193,16 @@
 	{
 		$types = ['meta', 'schema'];
 
-		switch ($type) {
-			case 'content':
-				$config = JVB_CONTENT;
-				$types[] = 'archive';
-				break;
-			case 'taxonomy':
-			case 'taxonomies':
-				$config = JVB_TAXONOMY;
-				break;
-			case 'user':
-				$config = JVB_USER;
-				break;
-			default:
-				error_log('[SEOAdminPage]:renderConfig --- no config found for '.$type);
-				return '';
+		if ($type == 'content') {
+			$types[] = 'archive';
 		}
 
+		$registrar = Registrar::getInstance($type);
+		if (!$registrar){
+			return '';
+		}
+		$config = $registrar->getConfig('seo');
+
 		$mainTabs = new Tabs();
 
 		foreach ($config as $c => $opt) {

--
Gitblit v1.10.0