From 3baf3d2545ba6ece6b74a64c0def59bd0774cf54 Mon Sep 17 00:00:00 2001
From: Jake Vanderwerf <get@jakevanderwerf.ca>
Date: Wed, 10 Jun 2026 16:34:12 +0000
Subject: [PATCH] =Laid the groundwork for an improved DashboardManager.php setup. Have to put it aside so I can get the dang Northeh done though.
---
inc/integrations/Integrations.php | 52 +++++++++++++++++++++++++++++-----------------------
1 files changed, 29 insertions(+), 23 deletions(-)
diff --git a/inc/integrations/Integrations.php b/inc/integrations/Integrations.php
index 5a14350..cb08b13 100644
--- a/inc/integrations/Integrations.php
+++ b/inc/integrations/Integrations.php
@@ -29,6 +29,15 @@
abstract class Integrations
{
/**
+ * Queue types
+ * These types match with IntegrationExecutor
+ */
+ protected static string $syncTo = 'sync_to';
+ protected static string $deleteFrom = 'delete_from';
+ protected static string $syncFrom = 'sync_from';
+ protected static string $syncCustomer = 'sync_customer';
+ protected static string $import = 'import';
+ /**
* API Configuration
* These properties define how the integration connects to external services
*/
@@ -57,7 +66,7 @@
* Used for UI rendering in admin interfaces
*/
public string $title; // Human-readable service name (e.g., 'Google My Business')
- public string $icon; // Phosphoricons icon slug
+ public string $icon = ''; // Phosphoricons icon slug
/**
* Credentials & State
@@ -319,7 +328,7 @@
if (!$taxonomies) {
// Combine both content and taxonomy filtering
$taxonomies = [];
- foreach (Registrar::getFeatured('is_content', 'term') as $type) {
+ foreach (Registrar::withFeature('is_content', 'term') as $type) {
$registrar = Registrar::getInstance($type);
if ($registrar->hasIntegration($this->service_name)) {
$taxonomies[] = $registrar->getSlug();
@@ -2705,6 +2714,15 @@
return $this->title;
}
+ public static function title():string
+ {
+ return (new static())->getTitle();
+ }
+ public static function icon():string
+ {
+ return (new static())->getIcon();
+ }
+
/*********************************************************************
RENDERING
*********************************************************************/
@@ -3340,27 +3358,10 @@
return [];
}
- $key = BASE.$this->service_name.'_enabled_content_types';
- $enabled = get_option($key);
- if (!$enabled) {
- $enabled = [];
- foreach (Registrar::getRegistered() as $registrar) {
- $registrar = Registrar::getInstance($registrar);
- if (!$registrar->hasIntegration($this->service_name)) {
- continue;
- }
- $type = $registrar->getIntegration($this->service_name)->getContent_type();
- if (!$type) {
- continue;
- }
-
- if (!in_array($type, $enabled)) {
- $enabled[] = $type;
- }
- }
- update_option($key, $enabled);
- }
- return $enabled;
+ return array_filter(array_map(function($registrar) {
+ $registrar = Registrar::getInstance($registrar);
+ return $registrar->getIntegration($this->service_name)->getContentType();
+ }, Registrar::withIntegration($this->service_name)));
}
protected function getSupportedImage(int $imgID):int
@@ -3543,4 +3544,9 @@
{
return [];
}
+
+ public function getIcon():string
+ {
+ return $this->icon;
+ }
}
--
Gitblit v1.10.0