Jake Vanderwerf
2026-03-03 772462eeca3002a1d52508aeba485aab2b4742ad
inc/managers/IconsManager.php
@@ -1,6 +1,7 @@
<?php
namespace JVBase\managers;
use JVBase\registrar\Registrar;
use JVBase\utility\Features;
if (!defined('ABSPATH')) {
@@ -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));
   }
   /**