From c68aefb847b09daa0697de7684d3451e2e68ce1e Mon Sep 17 00:00:00 2001
From: Jake Vanderwerf <get@jakevanderwerf.ca>
Date: Thu, 09 Jul 2026 23:10:23 +0000
Subject: [PATCH] =Refactor of Integrations.php to be a bit more useful with a suite of methods for create, update, delete back and forths for integrations where sharing is enabled. Also considering a single instance with a connect method to connect as the site (no user) vs connecting as an individual user - rather than recreating instances for every user.

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

diff --git a/base/options.php b/base/options.php
index 7f7cc3f..3cc8583 100644
--- a/base/options.php
+++ b/base/options.php
@@ -78,6 +78,7 @@
 		}
 
 		if (Site::hasIntegration('gmb') || Site::has('hours')) {
+			//Is actually stored as openingHours
 			$this->fields->addCommon('hours');
 		}
 	}
@@ -86,6 +87,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 +115,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 +136,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