From a239ef33ec489ce6d0f25ac2f256df0ac54a7e50 Mon Sep 17 00:00:00 2001
From: Jake Vanderwerf <get@jakevanderwerf.ca>
Date: Wed, 16 Sep 2026 00:07:34 +0000
Subject: [PATCH] =Tackling the integrations again. This time Helcim, with some minnor edits to GMB and Square

---
 inc/integrations/_setup.php |  110 ++++++++++++++++++++++++++++++++++++------------------
 1 files changed, 73 insertions(+), 37 deletions(-)

diff --git a/inc/integrations/_setup.php b/inc/integrations/_setup.php
index e3a5d39..1eef3d4 100644
--- a/inc/integrations/_setup.php
+++ b/inc/integrations/_setup.php
@@ -1,47 +1,83 @@
 <?php
-use JVBase\utility\Features;
+use JVBase\base\Site;
+if (!defined('ABSPATH')) {
+	exit;
+}
+require(JVB_DIR . '/inc/integrations/_Base.php');
+
+require(JVB_DIR . '/inc/integrations/Admin.php');
+	require(JVB_DIR . '/inc/integrations/AdminActionResult.php');
+	require(JVB_DIR . '/inc/integrations/AdminActions.php');
+require(JVB_DIR . '/inc/integrations/Ajax.php');
+require(JVB_DIR . '/inc/integrations/APIEndpoint.php');
+require(JVB_DIR . '/inc/integrations/Auth.php');
+require(JVB_DIR . '/inc/integrations/Endpoint.php');
+require(JVB_DIR . '/inc/integrations/EndpointField.php');
+require(JVB_DIR . '/inc/integrations/Field.php');
+
+require(JVB_DIR . '/inc/integrations/OAuth.php');
+	require(JVB_DIR . '/inc/integrations/OAuthCredentials.php');
+	require(JVB_DIR . '/inc/integrations/OAuthURLs.php');
+require(JVB_DIR . '/inc/integrations/RateLimits.php');
+require(JVB_DIR . '/inc/integrations/Requests.php');
+require(JVB_DIR . '/inc/integrations/UserConnection.php');
+require(JVB_DIR . '/inc/integrations/SyncDefaults.php');
+	require(JVB_DIR . '/inc/integrations/SyncHelpers.php');
+	require(JVB_DIR . '/inc/integrations/SyncFrom.php');
+		require(JVB_DIR . '/inc/integrations/SyncFromPost.php');
+		require(JVB_DIR . '/inc/integrations/SyncFromTerm.php');
+		require(JVB_DIR . '/inc/integrations/SyncFromUser.php');
+	require(JVB_DIR . '/inc/integrations/SyncTo.php');
+		require(JVB_DIR . '/inc/integrations/SyncToPost.php');
+		require(JVB_DIR . '/inc/integrations/SyncToTerm.php');
+		require(JVB_DIR . '/inc/integrations/SyncToUser.php');
+require(JVB_DIR . '/inc/integrations/Webhooks.php');
 require(JVB_DIR . '/inc/integrations/Integrations.php');
-require(JVB_DIR . '/inc/integrations/CredentialsManager.php');
 
-if (Features::hasIntegration('maps')) {
-	require(JVB_DIR . '/inc/integrations/GoogleMaps.php');
-}
-
-if (Features::hasIntegration('umami')) {
-	require(JVB_DIR . '/inc/integrations/Umami.php');
-}
-if (Features::hasIntegration('cloudflare')) {
-	require(JVB_DIR . '/inc/integrations/Cloudflare.php');
-}
-
-if (Features::hasIntegration('square')) {
-	require(JVB_DIR . '/inc/integrations/Square.php');
-}
-
-if (Features::hasIntegration('facebook')) {
-	require(JVB_DIR . '/inc/integrations/Facebook.php');
-}
-
-if (Features::hasIntegration('instagram')) {
-	if (!Features::hasIntegration('facebook')) {
-		require(JVB_DIR . '/inc/integrations/Facebook.php');
+add_action('jvbloaded', 'jvbLoadIntegrations');
+function jvbLoadIntegrations():void
+{
+	if (Site::hasIntegration('maps')) {
+		require(JVB_DIR . '/inc/integrations/services/GoogleMaps.php');
 	}
-	require(JVB_DIR . '/inc/integrations/Instagram.php');
-}
 
-if (Features::hasIntegration('bluesky')) {
-	require(JVB_DIR . '/inc/integrations/BlueSky.php');
-}
+	if (Site::hasIntegration('umami')) {
+		require(JVB_DIR . '/inc/integrations/services/Umami.php');
+	}
+	if (Site::hasIntegration('cloudflare')) {
+		require(JVB_DIR . '/inc/integrations/services/Cloudflare.php');
+	}
 
-if (Features::hasIntegration('gmb')) {
-	require(JVB_DIR . '/inc/integrations/GoogleMyBusiness.php');
-}
+	if (Site::hasIntegration('square')) {
+		require(JVB_DIR . '/inc/integrations/services/Square.php');
+	}
 
-if (Features::hasIntegration('postmark')) {
-	require(JVB_DIR . '/inc/integrations/PostMark.php');
-}
+	if (Site::hasIntegration('facebook')) {
+		require(JVB_DIR . '/inc/integrations/services/Facebook.php');
+	}
+
+	if (Site::hasIntegration('instagram')) {
+		if (!Site::hasIntegration('facebook')) {
+			require(JVB_DIR . '/inc/integrations/services/Facebook.php');
+		}
+		require(JVB_DIR . '/inc/integrations/services/Instagram.php');
+	}
+
+	if (Site::hasIntegration('bluesky')) {
+		require(JVB_DIR . '/inc/integrations/services/BlueSky.php');
+	}
+
+	if (Site::hasIntegration('gmb')) {
+		require(JVB_DIR . '/inc/integrations/services/GoogleMyBusiness.php');
+	}
+
+	if (Site::hasIntegration('postmark')) {
+		require(JVB_DIR . '/inc/integrations/services/PostMark.php');
+	}
 
 
-if (Features::hasIntegration('helcim')) {
-	require(JVB_DIR . '/inc/integrations/Helcim.php');
+	if (Site::hasIntegration('helcim')) {
+		require(JVB_DIR . '/inc/integrations/services/Helcim.php');
+	}
 }
+

--
Gitblit v1.10.0