From a6413da67a4579866f0fd0323ddb23a7b6b9654a Mon Sep 17 00:00:00 2001
From: Jake Vanderwerf <get@jakevanderwerf.ca>
Date: Fri, 18 Sep 2026 17:00:53 +0000
Subject: [PATCH] =Cleaning up the Integrations setup a bit, started the Helcim integration work too
---
base/SchemaHelper.php | 19 +++++++++++++++++--
1 files changed, 17 insertions(+), 2 deletions(-)
diff --git a/base/SchemaHelper.php b/base/SchemaHelper.php
index 6a329d5..a3ea785 100644
--- a/base/SchemaHelper.php
+++ b/base/SchemaHelper.php
@@ -1,18 +1,22 @@
<?php
namespace JVBase\base;
+use JVBase\Instance;
use JVBase\meta\Meta;
use JVBase\registrar\config\seo\Resolver;
use JVBase\registrar\Registrar;
-
+if (!defined('ABSPATH')) {
+ exit;
+}
class SchemaHelper
{
+ use Instance;
protected static array $allowedTypes;
protected static array $allowedFormats = ['schema', 'archive', 'meta', 'reference'];
protected static array $schemas = [];
protected static array $metas = [];
protected static array $archives = [];
protected static array $references = [];
- public function __construct()
+ protected function __construct()
{
self::$allowedTypes = array_merge(['website', 'organization'], Registrar::getRegistered());
}
@@ -125,6 +129,7 @@
default => [],
};
+
$result = apply_filters(BASE.ucfirst($type).ucfirst($format).'Default', $defaults);
if ($format === 'reference' && empty($result)) {
$full = self::getDefault($type, 'schema');
@@ -274,6 +279,10 @@
$className = $config['type'];
unset($config['type']);
$class = new $className();
+ if (array_key_exists('id', $config)) {
+ $class->setId($config['id']);
+ unset($config['id']);
+ }
foreach ($config as $property => $value) {
@@ -294,4 +303,10 @@
}
return $class;
}
+
+ public static function reset(string $type, string $format):bool
+ {
+ $default = self::getDefault($type, $format);
+ return self::update($type, $format, $default);
+ }
}
--
Gitblit v1.10.0