From c16a4d78d07e81ecdd2ff9b1b9090560ab2fe488 Mon Sep 17 00:00:00 2001
From: Jake Vanderwerf <get@jakevanderwerf.ca>
Date: Fri, 04 Sep 2026 22:25:09 +0000
Subject: [PATCH] =Got the panel loading up the fields, organized by section! Now to ensure it saves properly. Still need to add: upload fields, selector fields, repeater/taglist/group fields
---
inc/managers/_setup.php | 142 ++++++++++++++++++++++++++++++++---------------
1 files changed, 97 insertions(+), 45 deletions(-)
diff --git a/inc/managers/_setup.php b/inc/managers/_setup.php
index 77dd5f4..baeb21d 100644
--- a/inc/managers/_setup.php
+++ b/inc/managers/_setup.php
@@ -1,56 +1,108 @@
<?php
-use JVBase\utility\Features;
+if (!defined('ABSPATH')) {
+ return;
+}
+use JVBase\managers\IconsManager;
+use JVBase\registrar\Registrar;
+use JVBase\base\Site;
+require(JVB_DIR . '/inc/managers/ScriptLoader.php');
+require(JVB_DIR . '/inc/managers/Errors.php');
+require(JVB_DIR . '/inc/managers/CustomTable.php');
+//require(JVB_DIR . '/inc/managers/CacheManager.php');
+require(JVB_DIR . '/inc/managers/Cache.php');
-require(JVB_DIR . '/inc/managers/CacheManager.php');
-require(JVB_DIR . '/icons.php');
-require(JVB_DIR . '/inc/managers/ErrorHandler.php');
-require(JVB_DIR . '/inc/managers/OperationQueue.php');
-require(JVB_DIR . '/inc/managers/LoginManager.php');
-//IF SITE HAS DASHBOARD AND FEED BLOCK
-if (Features::forSite()->hasAny(['dashboard', 'feed_block'])) {
- require(JVB_DIR . '/inc/forms/TaxonomySelector.php');
+require(JVB_DIR . '/inc/managers/IconsManager.php');
+add_action('jvbloaded', 'jvbManagers'); // Priority 1 - very early
+function jvbManagers(): void
+{
+
+// Cache::registerHooks();
+ // Initialize base sources (this registers hooks and includes defaults)
+ IconsManager::for();
+ IconsManager::for('forms');
+
+ // Only initialize dash if feature is enabled
+ if (Site::has('dashboard')) {
+ IconsManager::for('dash');
+ }
+
+ if (Site::has('magic_link')) {
+ require(JVB_DIR . '/inc/managers/MagicLinks.php');
+ }
+
+ if (Site::hasAny(['dashboard', 'feed_block'])) {
+ require(JVB_DIR . '/inc/forms/TaxonomySelector.php');
+ }
+
+ if (Site::has('dashboard')) {
+// require(JVB_DIR . '/inc/managers/DashboardManager.php');
+ require(JVB_DIR . '/inc/managers/Dashboard/_setup.php');
+ require(JVB_DIR . '/inc/managers/CRUDManager.php');
+ require(JVB_DIR . '/inc/managers/UploadManager.php');
+ }
+
+ if (Site::has('feed_block')) {
+ require(JVB_DIR . '/inc/managers/TaxonomyRelationships.php');
+ }
+
+ if (Site::hasAll(['dashboard', 'membership'])) {
+ require(JVB_DIR . '/inc/managers/UserTermsManager.php');
+ }
+
+ if (!empty(Registrar::withFeature('approve_new'))) {
+ require(JVB_DIR . '/inc/managers/Approvals.php');
+ }
+
+
+ $membership = Site::membership();
+ if ($membership) {
+ if ($membership->has('notifications')) {
+ require(JVB_DIR . '/inc/managers/Notifications/Content.php');
+ require(JVB_DIR . '/inc/managers/Notifications/EmailDigests.php');
+ require(JVB_DIR . '/inc/managers/Notifications/Notifications.php');
+ require(JVB_DIR . '/inc/managers/Notifications/Preferences.php');
+ require(JVB_DIR . '/inc/managers/NotificationManager.php');
+ }
+ if ($membership->has('forum') && !empty(Registrar::withFeature('is_content', 'term'))) {
+ require(JVB_DIR . '/inc/managers/NewsRelationships.php');
+ }
+ if ($membership->has('invitable')) {
+ require(JVB_DIR . '/inc/managers/InvitationsManager.php');
+ }
+ }
+
+ if (Site::has('is_directory')) {
+ require(JVB_DIR . '/inc/managers/DirectoryManager.php');
+ }
+
+ if (Site::has('referrals')) {
+ require(JVB_DIR . '/inc/managers/Referrals.php');
+ }
+
+ if (!empty(Registrar::withFeature('karma'))) {
+ require(JVB_DIR . '/inc/managers/KarmaManager.php');
+ }
+// if (Site::has('favourites') && !empty(Registrar::withFeature('favouritable'))) {
+ if (Site::has('favourites')) {
+ require(JVB_DIR . '/inc/managers/FavouritesManager.php');
+ }
}
-//IF SITE HAS DASHBOARD
-if (Features::forSite()->has('dashboard')) {
- require(JVB_DIR . '/inc/managers/CRUDManager.php');
- require(JVB_DIR . '/inc/managers/UploadManager.php');
+add_action('init', 'jvb_load_karma', 1);
+function jvb_load_karma():void
+{
}
-//IF SITE HAS FEED BLOCK
-if (Features::forSite()->has('feed_block')) {
- require(JVB_DIR . '/inc/managers/TaxonomyRelationships.php');
- new JVBase\managers\TaxonomyRelationships();
-}
-
-//if (Features::forSite()->hasAll(['dashboard', 'membership', 'feed_block'])) {
- require(JVB_DIR . '/inc/managers/UserTermsManager.php');
- new JVBase\managers\UserTermsManager();
-//}
-
-if (Features::forSite()->has('notifications')) {
- require(JVB_DIR . '/inc/managers/NotificationManager.php');
-}
-
-if (Features::forMembership()->has('forum') && Features::anyTaxonomyHas('is_content')) {
- require(JVB_DIR . '/inc/managers/NewsRelationships.php');
-}
+require(JVB_DIR . '/inc/managers/queue/_setup.php');
+require(JVB_DIR . '/inc/managers/Emails.php');
+require(JVB_DIR . '/inc/managers/Login.php');
-require(JVB_DIR . '/inc/managers/SchemaManager.php');
-require(JVB_DIR . '/inc/managers/SEOMetaManager.php');
-require(JVB_DIR . '/inc/managers/DirectoryManager.php');
-require(JVB_DIR . '/inc/managers/EmailManager.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/ImageGenerator.php');
require(JVB_DIR . '/inc/managers/AdminPages.php');
-require(JVB_DIR . '/inc/managers/RoleManager.php');
-
-
-if (Features::forSite()->has('dashboard')) {
- require(JVB_DIR . '/inc/managers/DashboardManager.php');
-}
-
-if (Features::forSite()->has('referrals')) {
- require(JVB_DIR . '/inc/managers/ReferralManager.php');
-}
+require(JVB_DIR . '/inc/managers/Roles.php');
--
Gitblit v1.10.0