From a58a2e7ca4700d3e23341fde767060a4c2c704a3 Mon Sep 17 00:00:00 2001
From: Jake Vanderwerf <get@jakevanderwerf.ca>
Date: Sun, 30 Aug 2026 21:04:37 +0000
Subject: [PATCH] =Minor tweaks to MenuBlock.php

---
 inc/integrations/Integrations.php |   32 +++++++++++++++++++-------------
 1 files changed, 19 insertions(+), 13 deletions(-)

diff --git a/inc/integrations/Integrations.php b/inc/integrations/Integrations.php
index f9a34ef..f2e8147 100644
--- a/inc/integrations/Integrations.php
+++ b/inc/integrations/Integrations.php
@@ -3,6 +3,7 @@
 
 use Exception;
 use JVBase\managers\Cache;
+use JVBase\managers\queue\Queue;
 use JVBase\managers\UploadManager;
 use JVBase\registrar\Registrar;
 use WP_Error;
@@ -29,6 +30,9 @@
 	 * These properties define how the integration connects to external services
 	 */
 	protected string|array $apiBase = ''; // Base URL(s) for API endpoints. Array format: ['base' => '', 'auth' => '']
+	/**
+	 * @var array<APIEndpoint> An array of endpoints objects, with optional create, update, delete, batch<x>, and batchImport
+	 */
 	protected array $apiEndpoints = [];   // Valid endpoint paths for this service
 
 	protected int $refresh_interval = 0; //seconds before expiry to refresh tokens. 0 to disable
@@ -56,6 +60,7 @@
 		$this->userID = $userID;
 		$this->cache = Cache::for('integrations_' . $this->cacheName);
 
+
 		$this->getPostTypes();
 		$this->getTaxonomies();
 		$this->getUsers();
@@ -173,7 +178,7 @@
 
 			return $this->response(false, 'Failed to save credentials to database');
 
-		} catch (\Exception $e) {
+		} catch (Exception $e) {
 			// Revert to old credentials on any error
 			$old = Auth::getInstance()->getCredentials(
 				$this->service_name,
@@ -259,7 +264,7 @@
 		}
 
 		try {
-			if ($this->isOAuthService && !$this->hasOAuthCredentials()){
+			if (!$this->hasOAuthCredentials()){
 				//If this is an OAuth service, we might only be saving the app credentials first
 				$result = true;
 			} else {
@@ -334,7 +339,7 @@
 		array $data,
 		array $options = []
 	):bool {
-		$queue = JVB()->queue();
+		$queue = Queue::getInstance();
 
 		$queued =  $queue->queueOperation(
 			$type,
@@ -397,8 +402,11 @@
 
 
 		if (!empty($this->syncPostTypes)) {
-			$this->addSavePost();
-			add_action('transition_post_status', [$this, 'handlePostStatusTransition'], 10, 3);
+			if (method_exists($this, 'addSavePost')) {
+				$this->addSavePost();
+			}
+
+//			add_action('transition_post_status', [$this, 'handlePostStatusTransition'], 10, 3);
 
 			if ($this->canSync['delete']) {
 				add_action('before_delete_post', [$this, 'handleDeletePost'], 10, 1);
@@ -469,7 +477,7 @@
 				'message' => 'Connection established successfully'
 			];
 
-		} catch (\Exception $e) {
+		} catch (Exception $e) {
 			return [
 				'success' => false,
 				'message' => 'Error: ' . $e->getMessage()
@@ -486,10 +494,7 @@
 
 	public function hasOAuthCredentials(?int $userID = null): bool
 	{
-		if ($userID !== $this->userID) {
-			$this->switchUser($userID);
-		}
-		return $this->hasOAuth && $this->hasValidOAuth();
+		return false;
 	}
 
 
@@ -543,7 +548,7 @@
 
 	public static function hasExtraOptions():bool
 	{
-		return static::getInstance()::$hasExtraOptions;
+		return self::$hasExtraOptions;
 	}
 
 	/**
@@ -603,8 +608,8 @@
 		if ($jpegVersion !== '' && is_int($jpegVersion)) {
 			return $jpegVersion;
 		}
-		$uploader = new UploadManager();
-		$converted = $uploader->convertImageTo($imgID, 'jpeg', 80, false);
+		$uploader = UploadManager::getInstance();
+		$converted = $uploader->convertImageTo($imgID, 'jpeg');
 		if ($converted && !is_wp_error($converted)) {
 			update_post_meta($imgID, BASE . 'jpeg_version', $converted['attachment_id']);
 			return $converted['attachment_id'];
@@ -616,6 +621,7 @@
 
 	/**
 	 * Used by JVBase\registrar\helpers\AddIntegrationFields.php
+	 * @param string|null $content_type
 	 * @return array
 	 */
 	public function getAdditionalFields(?string $content_type = null):array

--
Gitblit v1.10.0