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/AdminPages.php |   34 ++++++++++++++--------------------
 1 files changed, 14 insertions(+), 20 deletions(-)

diff --git a/inc/managers/AdminPages.php b/inc/managers/AdminPages.php
index 866893c..a584458 100644
--- a/inc/managers/AdminPages.php
+++ b/inc/managers/AdminPages.php
@@ -1,6 +1,7 @@
 <?php
 namespace JVBase\managers;
 
+use JVBase\registrar\Registrar;
 use JVBase\utility\Features;
 use JVBase\rest\Route;
 use JVBase\rest\PermissionHandler;
@@ -219,6 +220,11 @@
         }
     }
 
+	public function getMainConfig():array
+	{
+		return $this->main_page;
+	}
+
     /**
      * Render the main settings page
      */
@@ -314,11 +320,11 @@
         </li>
         <li>
             <span class="status-label">Content Types:</span>
-            <span class="status-value"><?= count(JVB_CONTENT); ?> registered</span>
+            <span class="status-value"><?= count(Registrar::getRegistered('post')); ?> registered</span>
         </li>
         <li>
             <span class="status-label">Taxonomies:</span>
-            <span class="status-value"><?= count(JVB_TAXONOMY); ?> registered</span>
+            <span class="status-value"><?= count(Registrar::getRegistered('term')); ?> registered</span>
         </li>
         <?php
     }
@@ -350,10 +356,8 @@
         global $wpdb;
 
         $week_ago = date('Y-m-d H:i:s', strtotime('-7 days'));
-		$content_types = [];
-		foreach (JVB_CONTENT as $content => $config) {
-			$content_types[jvbCheckBase($content)] = $config['plural'];
-		}
+		$content_types = array_map(function ($type) { return jvbCheckBase($type); },
+			Registrar::getRegistered('post'));
 
         ?>
         <table class="jvb-content-table">
@@ -605,22 +609,12 @@
 	{
 		$group = jvbNoBase($group);
 
-		if (defined('JVB_CONTENT')) {
-			foreach (JVB_CONTENT as $key => $config) {
-				if (jvbNoBase($key) === $group) {
-					return true;
-				}
+		$registered = Registrar::getRegistered();
+		foreach ($registered as $r) {
+			if ($r === $group) {
+				return true;
 			}
 		}
-
-		if (defined('JVB_TAXONOMY')) {
-			foreach (JVB_TAXONOMY as $key => $config) {
-				if (jvbNoBase($key) === $group) {
-					return true;
-				}
-			}
-		}
-
 		return false;
 	}
 

--
Gitblit v1.10.0