From 3baf3d2545ba6ece6b74a64c0def59bd0774cf54 Mon Sep 17 00:00:00 2001
From: Jake Vanderwerf <get@jakevanderwerf.ca>
Date: Wed, 10 Jun 2026 16:34:12 +0000
Subject: [PATCH] =Laid the groundwork for an improved DashboardManager.php setup. Have to put it aside so I can get the dang Northeh done though.

---
 inc/managers/SEO/render/Traits/_Helpers/arrayHelper.php |   18 ++++++++++++++++--
 1 files changed, 16 insertions(+), 2 deletions(-)

diff --git a/inc/managers/SEO/render/Traits/_Helpers/arrayHelper.php b/inc/managers/SEO/render/Traits/_Helpers/arrayHelper.php
index 0c5a941..e02cd4a 100644
--- a/inc/managers/SEO/render/Traits/_Helpers/arrayHelper.php
+++ b/inc/managers/SEO/render/Traits/_Helpers/arrayHelper.php
@@ -1,13 +1,20 @@
 <?php
 namespace JVBase\managers\SEO\render\Traits\_Helpers;
 
+use JVBase\base\SchemaHelper;
+
 if (!defined('ABSPATH')) {
 	exit;
 }
 trait arrayHelper {
 	protected function classArray(string $property, array $array, string $className):array
 	{
-		return array_filter($array, function ($item) use ($property, $className) {
+		return array_filter(array_map(function ($item) {
+			if (is_array($item) && array_key_exists('type', $item)) {
+				$item = SchemaHelper::classFromConfig($item);
+			}
+			return $item;
+		},$array), function ($item) use ($property, $className) {
 			$test = class_exists($className) && is_a($item, $className);
 			if (!$test) {
 				error_log('[SEO]Item property '.$property.' is not an instance of '.$className);
@@ -17,7 +24,14 @@
 	}
 	protected function mixedArray(string $property, array $array, array $allowedTypes):array
 	{
-		return array_filter($array, function($item) use ($property, $allowedTypes) {
+
+		return array_filter(array_map(function($item) {
+			if (is_array($item) && array_key_exists('type', $item)) {
+				return JVB()->schemaHelper()::classFromConfig($item);
+			} else {
+				return $item;
+			}
+		},$array), function($item) use ($property, $allowedTypes) {
 			$test = in_array(gettype($item), $allowedTypes) || $this->testClasses($item, $allowedTypes);
 			if (!$test) {
 				error_log('[SEO]Item property '.$property.' is not an allowed type: '.print_r($item, true));

--
Gitblit v1.10.0