From 86c6cd3cc099d2480932ede03c12cea01e625c94 Mon Sep 17 00:00:00 2001
From: Jake Vanderwerf <get@jakevanderwerf.ca>
Date: Sun, 26 Apr 2026 21:56:28 +0000
Subject: [PATCH] =Requiring files based on Site class settings
---
inc/managers/IconsManager.php | 41 +++++++++++++++--------------------------
1 files changed, 15 insertions(+), 26 deletions(-)
diff --git a/inc/managers/IconsManager.php b/inc/managers/IconsManager.php
index 65e583d..ee98705 100644
--- a/inc/managers/IconsManager.php
+++ b/inc/managers/IconsManager.php
@@ -1,7 +1,8 @@
<?php
namespace JVBase\managers;
-use JVBase\utility\Features;
+use JVBase\registrar\Registrar;
+use JVBase\base\Site;
if (!defined('ABSPATH')) {
exit;
@@ -198,12 +199,7 @@
// Add icons from content/taxonomy/user configs (like old behavior)
$configIcons = $this->getIconsFromConfigs();
if (!empty($configIcons)) {
- foreach ($configIcons as $source => $icons) {
- if (!isset($defaults[$source])) {
- $defaults[$source] = [];
- }
- $defaults[$source] = array_merge($defaults[$source], $icons);
- }
+ $defaults['icons'] = array_merge($defaults['icons'], $configIcons);
}
// Allow filtering per source (extensibility)
@@ -221,28 +217,21 @@
}
/**
- * Get icons from JVB_CONTENT, JVB_TAXONOMY, JVB_USER configs
+ * Get icons from Registrar instances
+ *
*/
protected function getIconsFromConfigs(): array
{
$icons = [];
- $check = [JVB_CONTENT, JVB_TAXONOMY, JVB_USER];
+ $registered = Registrar::getRegistered();
- foreach ($check as $constant) {
- foreach ($constant as $key => $value) {
- if (isset($value['icon'])) {
- // Determine source based on context (you could add 'icon_source' to configs)
- $source = $value['icon_source'] ?? 'icons';
-
- if (!isset($icons[$source])) {
- $icons[$source] = [];
- }
- $icons[$source][] = $value['icon'];
- }
- }
+ foreach ($registered as $type) {
+ $registrar = Registrar::getInstance($type);
+ $icons[] = $registrar->getIcon();
}
- return $icons;
+
+ return array_unique(array_filter($icons));
}
/**
@@ -362,16 +351,16 @@
$map = [
'seo' => 'robot'
];
- if (Features::forSite()->has('referrals')) {
+ if (Site::has('referrals')) {
$map['referrals'] = 'hand-heart';
}
- if (Features::forSite()->has('dashboard')) {
+ if (Site::has('dashboard')) {
$map['dash'] = 'door';
}
- if (Features::forSite()->has('magicLink')) {
+ if (Site::has('magicLink')) {
$map['magicLink'] = 'magic-wand';
}
- if (Features::hasAnyIntegration()) {
+ if (Site::hasAnyIntegration()) {
$map['integrations'] = 'plugs-connected';
}
update_option(BASE.'iconMap', $map);
--
Gitblit v1.10.0