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