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/_setup.php |   33 ++++++++++++++++++++++++---------
 1 files changed, 24 insertions(+), 9 deletions(-)

diff --git a/inc/managers/_setup.php b/inc/managers/_setup.php
index c29c326..d29be0c 100644
--- a/inc/managers/_setup.php
+++ b/inc/managers/_setup.php
@@ -1,17 +1,25 @@
 <?php
 
+use JVBase\managers\Cache;
 use JVBase\managers\IconsManager;
+use JVBase\registrar\Registrar;
 use JVBase\utility\Features;
 
-
 require(JVB_DIR . '/inc/managers/ScriptLoader.php');
-require(JVB_DIR . '/inc/managers/CacheManager.php');
+require(JVB_DIR . '/inc/managers/CustomTable.php');
+//require(JVB_DIR . '/inc/managers/CacheManager.php');
+require(JVB_DIR . '/inc/managers/Cache.php');
+class_alias('JVBase\managers\Cache', 'JVBase\managers\CacheManager');
+
+
 require(JVB_DIR . '/inc/managers/IconsManager.php');
-add_action('init', 'jvbInitIconsManager', 1); // Priority 1 - very early
-function jvbInitIconsManager(): void
+add_action('init', 'jvbInit', 1); // Priority 1 - very early
+function jvbInit(): void
 {
+
+	Cache::registerHooks();
 	// Initialize base sources (this registers hooks and includes defaults)
-	IconsManager::for('icons');
+	IconsManager::for();
 	IconsManager::for('forms');
 
 	// Only initialize dash if feature is enabled
@@ -20,13 +28,14 @@
 	}
 }
 require(JVB_DIR . '/inc/managers/ErrorHandler.php');
-require(JVB_DIR . '/inc/managers/OperationQueue.php');
+require(JVB_DIR . '/inc/managers/queue/_setup.php');
+//require(JVB_DIR . '/inc/managers/OperationQueue.php');
 require(JVB_DIR . '/inc/managers/EmailManager.php');
 
 if (Features::forSite()->has('magicLink')) {
 	require(JVB_DIR . '/inc/managers/MagicLinkManager.php');
 }
-require(JVB_DIR . '/inc/managers/AjaxRateLimiter.php');
+
 require(JVB_DIR . '/inc/managers/LoginManager.php');
 
 
@@ -56,15 +65,21 @@
 	require(JVB_DIR . '/inc/managers/NotificationManager.php');
 }
 
-if (Features::forMembership()->has('forum') && Features::anyTaxonomyHas('is_content')) {
+if (Features::forMembership()->has('forum') && !empty(Registrar::getFeatured('is_content', 'term'))) {
 	require(JVB_DIR . '/inc/managers/NewsRelationships.php');
 }
 
+if (Features::forMembership()->has('invitable')) {
+	require(JVB_DIR . '/inc/managers/Invitations.php');
+}
+
 //
 //require(JVB_DIR . '/inc/managers/SchemaManager.php');
 //require(JVB_DIR . '/inc/managers/SEOMetaManager.php');
 require(JVB_DIR . '/inc/managers/SEO/_setup.php');
-require(JVB_DIR . '/inc/managers/DirectoryManager.php');
+if (Features::forSite()->has('is_directory')) {
+	require(JVB_DIR . '/inc/managers/DirectoryManager.php');
+}
 require(JVB_DIR . '/inc/managers/ImageGenerator.php');
 require(JVB_DIR . '/inc/managers/AdminPages.php');
 require(JVB_DIR . '/inc/managers/RoleManager.php');

--
Gitblit v1.10.0