From d8cc8f9eedcb21c4ba5ac4d91852591fbb179d92 Mon Sep 17 00:00:00 2001
From: Jake Vanderwerf <get@jakevanderwerf.ca>
Date: Wed, 26 Aug 2026 22:10:44 +0000
Subject: [PATCH] =Referrals Cache::connect issues

---
 base/options.php |   28 ++++++++++++++++++++++++++++
 1 files changed, 28 insertions(+), 0 deletions(-)

diff --git a/base/options.php b/base/options.php
index 7f7cc3f..ed3fa19 100644
--- a/base/options.php
+++ b/base/options.php
@@ -4,6 +4,9 @@
 use JVBase\meta\Form;
 use JVBase\meta\Meta;
 use JVBase\registrar\Fields;
+if (!defined('ABSPATH')) {
+	exit;
+}
 
 /**
  * Custom options for the site can be set here. They will need to be handled by the child plugin, but you can make use of the Meta.php this way
@@ -78,6 +81,7 @@
 		}
 
 		if (Site::hasIntegration('gmb') || Site::has('hours')) {
+			//Is actually stored as openingHours
 			$this->fields->addCommon('hours');
 		}
 	}
@@ -86,6 +90,15 @@
 		return $this->fields;
 	}
 
+	public function getConfig(string $fieldName):array
+	{
+		$allFields = $this->fields->getFields();
+		if (array_key_exists($fieldName, $allFields)) {
+			return $allFields[$fieldName]->getConfig();
+		}
+		return [];
+	}
+
 	public function resetOptions():void
 	{
 		if (empty($this->resetFields)) {
@@ -105,6 +118,12 @@
 		}
 		return self::$values[$fieldName];
 	}
+
+	public static function getAll():array
+	{
+		$meta = Meta::forOptions();
+		return $meta->getAll();
+	}
 	public static function delete(string $fieldName):void
 	{
 		if (array_key_exists($fieldName, self::$values)) {
@@ -120,9 +139,18 @@
 		self::$values = $value;
 	}
 
+	public static function setAll($fields):void
+	{
+		$meta = Meta::forOptions();
+		$meta->setAll($fields);
+		self::$values = $fields;
+	}
+
 	public static function render(array $fieldNames, array $options = [], bool $output = false):string
 	{
 		$meta = Meta::forOptions();
+		$options['showFormID'] = false;
+		$options['classes'] = ['options'];
 		$result = Form::renderFormFrom(
 			$meta,
 			'options',

--
Gitblit v1.10.0