From 42fa8304ddb811b0f725f245130f70c0f5e86a6c Mon Sep 17 00:00:00 2001
From: Jake Vanderwerf <get@jakevanderwerf.ca>
Date: Tue, 04 Nov 2025 06:12:02 +0000
Subject: [PATCH] =Refactored LoginManager to be more extensible and configurable, as well as an AjaxRateLimiter

---
 inc/meta/MetaManager.php |   14 ++++++++++++++
 1 files changed, 14 insertions(+), 0 deletions(-)

diff --git a/inc/meta/MetaManager.php b/inc/meta/MetaManager.php
index 7ed3bc6..380ac9a 100644
--- a/inc/meta/MetaManager.php
+++ b/inc/meta/MetaManager.php
@@ -19,6 +19,7 @@
 	public MetaForm $form;
 	protected int|null $object_id;
 	public object|null $data;
+	protected array $fields =[];
 	protected string $field;
 	protected mixed $value;
 	protected string|null $object_type;
@@ -502,6 +503,10 @@
 
 	protected function getFields(): array
 	{
+		if (!empty($this->fields)) {
+			return $this->fields;
+		}
+		$type = false;
 		switch ($this->object_type) {
 			case 'post':
 				$type = get_post_type((int)$this->object_id);
@@ -515,6 +520,9 @@
 			case 'options':
 				return jvbGetFields('options');
 		}
+		if (!$type) {
+			return [];
+		}
 
 		return jvbGetFields($type, $this->object_type);
 	}
@@ -542,6 +550,7 @@
 
 	protected function getSections():array
 	{
+		$type = false;
 		switch ($this->object_type) {
 			case 'post':
 				$type = get_post_type((int)$this->object_id);
@@ -601,6 +610,11 @@
         }
     }
 
+	public function setFieldConfig(array $fields):void
+	{
+		$this->fields = $fields;
+	}
+
     protected function getFieldConfig(string $name):array|false
     {
         $fields = $this->getFields();

--
Gitblit v1.10.0