From 0dfe1d8afafc59c4a5559c498342668d5a58d6ef Mon Sep 17 00:00:00 2001
From: Jake Vanderwerf <get@jakevanderwerf.ca>
Date: Thu, 23 Jul 2026 22:41:41 +0000
Subject: [PATCH] =Still working away at the Integrations overhaul
---
inc/registrar/config/Integration.php | 35 ++++++++++++++++++++++++++++-------
1 files changed, 28 insertions(+), 7 deletions(-)
diff --git a/inc/registrar/config/Integration.php b/inc/registrar/config/Integration.php
index 8723e71..6316e6c 100644
--- a/inc/registrar/config/Integration.php
+++ b/inc/registrar/config/Integration.php
@@ -2,7 +2,7 @@
namespace JVBase\registrar\config;
use JVBase\registrar\Registrar;
-use JVBase\utility\Features;
+use JVBase\base\Site;
if (!defined('ABSPATH')) {
exit;
@@ -13,7 +13,7 @@
* @var string Must match as defined in the JVBase\integrations namespace
*/
protected string $service_name;
- protected string $content_type;
+ protected ?string $content_type = null;
/**
* @var bool Whether to send to the integration on publish
*/
@@ -27,29 +27,40 @@
* @var bool whether this is a customer role, used if this is a user-based Registrar
*/
protected bool $isCustomer;
+ protected ?string $category = null;
public function __construct(string $service) {
- if (!Features::hasIntegration($service)) {
+ if (!Site::hasIntegration($service)) {
error_log('Could not link with integration, as it is not enabled: '.$service);
return;
}
$this->service_name = $service;
}
+
public function getService_name():string
{
return $this->service_name;
}
/**
- * @param string $content must match what integration expects
+ * @param ?string $content must match what integration expects
* @return self
*/
- public function setContent_type(string $content):self
+ public function setContentType(?string $content):self
{
- $allowed = JVB()->connect($this->service_name)->allowedContent();
+ if (is_null($content)) {
+ return $this;
+ }
+ $connection = JVB()->connect($this->service_name);
+ if (!$connection){
+ error_log('[Integration]::setContentType Service is not setup. '.$this->service_name);
+ return $this;
+ }
+
+ $allowed = $connection->getAllowedContent();
if (!in_array($content, $allowed)) {
error_log($this->service_name.' Connection does not support this content: '.$content);
return $this;
@@ -58,11 +69,19 @@
return $this;
}
- public function getContentType():string
+ public function getContentType():?string
{
return $this->content_type;
}
+ public function setCategory(string $category):void
+ {
+ $check = Registrar::getInstance($category);
+ if ($check) {
+ $this->category = $check->getBased();
+ }
+ }
+
public function setInitial(bool $set):self
{
$this->initial = $set;
@@ -86,6 +105,8 @@
public function setCustomer(bool $set):self
{
$this->isCustomer = $set;
+// JVB()->connect($this->service_name)->addCustomerFields();
+
return $this;
}
public function isCustomer():bool
--
Gitblit v1.10.0