From 2127b1bdd73ecd2423e443992da4b442f5a3c1a3 Mon Sep 17 00:00:00 2001
From: Jake Vanderwerf <get@jakevanderwerf.ca>
Date: Wed, 04 Feb 2026 21:19:25 +0000
Subject: [PATCH] =Major overhaul of MetaManager.php -> Meta.php and RestRouteManager.php -> Rest.php. Seems to work for JakeVan

---
 inc/meta/Sanitizer.php |   76 +++++++++++++++----------------------
 1 files changed, 31 insertions(+), 45 deletions(-)

diff --git a/inc/meta/MetaSanitizer.php b/inc/meta/Sanitizer.php
similarity index 77%
rename from inc/meta/MetaSanitizer.php
rename to inc/meta/Sanitizer.php
index 6f722f7..14789c2 100644
--- a/inc/meta/MetaSanitizer.php
+++ b/inc/meta/Sanitizer.php
@@ -1,8 +1,6 @@
 <?php
 namespace JVBase\meta;
 
-use JVBase\meta\MetaTypeManager;
-
 if (!defined('ABSPATH')) {
     exit; // Exit if accessed directly
 }
@@ -10,35 +8,30 @@
 /**
  * Handles meta value sanitization
  */
-class MetaSanitizer
+class Sanitizer
 {
-    protected MetaTypeManager $type_manager;
 
-    public function __construct()
-    {
-        $this->type_manager = new MetaTypeManager();
-    }
+	public static function sanitize(mixed $value, array $field_config): mixed
+	{
+		$callback = static::getCallback($field_config);
 
-    public function sanitize(mixed $value, array $field_config):mixed
-    {
-        $callback = $this->getCallback($field_config);
-        if (is_array($callback)) {
-            return call_user_func([$this, $callback[1]], $value, $field_config);
-        }
-        if (method_exists($this, $callback)) {
-            return $this->$callback($value, $field_config);
-        } else {
-            return call_user_func($callback, $value);
-        }
-    }
+		if (is_array($callback)) {
+			return call_user_func([static::class, $callback[1]], $value, $field_config);
+		}
+		if (method_exists(static::class, $callback)) {
+			return static::$callback($value, $field_config);
+		}
 
-    public function getCallback(array $field_config):mixed
+		return call_user_func($callback, $value);
+	}
+
+    public static function getCallback(array $field_config):mixed
     {
         return $field_config['sanitize'] ??
-            $this->type_manager->getSanitizeCallback($field_config['type']);
+           MetaTypeManager::getSanitizeCallback($field_config['type']);
     }
 
-    protected function sanitizeTaxonomy(array|string $values, array $field_config):string
+    protected static function sanitizeTaxonomy(array|string $values, array $field_config):string
     {
         if (!is_array($values)) {
             $values = explode(',', $values);
@@ -54,7 +47,7 @@
         return implode(',', $values);
     }
 
-    protected function sanitizeUser(array|string $values, array $field_config):string
+    protected static function sanitizeUser(array|string $values, array $field_config):string
     {
         if (!is_array($values)) {
             $values = explode(',', $values);
@@ -65,12 +58,8 @@
         return implode(',', $values);
     }
 
-	protected function sanitizeTagList(array $values, array $field_config): array
+	protected static function sanitizeTagList(array $values, array $field_config): array
 	{
-		if (!is_array($values)) {
-			return [];
-		}
-
 		if (empty(array_filter($values, fn($value) => !empty($value)))) {
 			return [];
 		}
@@ -103,7 +92,7 @@
 				}
 
 				$subfield_config['name'] = $key; // For backwards compatibility
-				$clean_row[$key] = $this->sanitize($row[$key], $subfield_config);
+				$clean_row[$key] = static::sanitize($row[$key], $subfield_config);
 			}
 
 			// Only add row if it has at least one non-empty value
@@ -115,11 +104,8 @@
 		return $sanitized;
 	}
 
-    protected function sanitizeRepeater(array $values, array $field_config):array
+    protected static function sanitizeRepeater(array $values, array $field_config):array
     {
-        if (!is_array($values)) {
-            return [];
-        }
         if (empty(array_filter($values, fn($value) => !empty($value)))) {
             return [];
         }
@@ -143,7 +129,7 @@
                     continue;
                 }
                 $subfield_config['name'] = $key;//For backwards compatability
-                $clean_row[$key] = $this->sanitize($row[$key], $subfield_config);
+                $clean_row[$key] = static::sanitize($row[$key], $subfield_config);
             }
             $sanitized[] = $clean_row;
         }
@@ -151,7 +137,7 @@
         return $sanitized;
     }
 
-	protected function sanitizeGroup(array|string $values, array $field_config):array
+	protected static function sanitizeGroup(array|string $values, array $field_config):array
 	{
 		if (!is_array($values)) {
 			return [];
@@ -173,19 +159,19 @@
 		foreach ($field_config['fields'] as $key => $subfield_config) {
 			if (!array_key_exists($key, $clean_values)) {
 				// Use default value if not provided
-				$default = $this->type_manager->getType($subfield_config['type'])['default'] ?? '';
+				$default = MetaTypeManager::getType($subfield_config['type'])['default'] ?? '';
 				$sanitized[$key] = $default;
 				continue;
 			}
 
 			$subfield_config['name'] = $key; // For backwards compatibility
-			$sanitized[$key] = $this->sanitize($clean_values[$key], $subfield_config);
+			$sanitized[$key] = static::sanitize($clean_values[$key], $subfield_config);
 		}
 
 		return $sanitized;
 	}
 
-    protected function sanitizeUpload(array|string $value):string
+    protected static function sanitizeUpload(array|string $value):string
     {
         if (empty($value)) {
             return '';
@@ -203,7 +189,7 @@
         return implode(',', $valid_ids);
     }
 
-    protected function sanitizeLocation(array $value, array $field_config):array
+    protected static function sanitizeLocation(array $value, array $field_config):array
     {
 		error_log('Location field to sanitize: '.print_r($value, true));
         return [
@@ -219,7 +205,7 @@
         ];
     }
 
-    protected function sanitizeOptions(array|string $value, array $field_config):string
+    protected static function sanitizeOptions(array|string $value, array $field_config):string
     {
         error_log('Sanitizing options: '.print_r($value, true));
         if (!isset($field_config['options'])) {
@@ -231,13 +217,13 @@
         return implode(',', array_intersect($value, array_keys($field_config['options'])));
     }
 
-    protected function sanitizeDate(string $value, array $field_config):string
+    protected static function sanitizeDate(string $value, array $field_config):string
     {
         $timestamp = strtotime($value);
         return $timestamp ? date('Y-m-d', $timestamp) : '';
     }
 
-	protected function sanitizeDateTime(string $value, array $field_config): string
+	protected static function sanitizeDateTime(string $value, array $field_config): string
 	{
 		if (empty($value)) {
 			return '';
@@ -252,7 +238,7 @@
 		return date('Y-m-d H:i:s', $timestamp);
 	}
 
-    protected function sanitizeTime(string $value, array $field_config):string
+    protected static function sanitizeTime(string $value, array $field_config):string
     {
         // Remove any whitespace
         $value = trim($value);
@@ -318,7 +304,7 @@
         return '';
     }
 
-	public function sanitizeFloat(string $value, array $config):float
+	public static function sanitizeFloat(string $value, array $config):float
 	{
 			if (is_numeric($value)) {
 				return (float) $value;

--
Gitblit v1.10.0