From fff721dd185f5b97f7ae7a6e64189e55887ff590 Mon Sep 17 00:00:00 2001
From: Jake Vanderwerf <get@jakevanderwerf.ca>
Date: Sun, 05 Jul 2026 18:36:57 +0000
Subject: [PATCH] =Cleaning up the Square integration (still a bit more to do yet). Also majorly overhauled /rest/ files to ignore a rest request 'user' paramater, and rely on get_current_user_id() instead.

---
 inc/integrations/PostMark.php |   21 ++++++++++++++++-----
 1 files changed, 16 insertions(+), 5 deletions(-)

diff --git a/inc/integrations/PostMark.php b/inc/integrations/PostMark.php
index 5bb1744..a06f65f 100644
--- a/inc/integrations/PostMark.php
+++ b/inc/integrations/PostMark.php
@@ -21,10 +21,21 @@
 	protected string $from_name;
 	protected bool $track_open;
 	protected bool $track_links;
+	protected ?string $lastMessageId = null;
+
+	protected static array $instances = [];
+	public static function getInstance(?int $userID = null):self
+	{
+		$key = is_null($userID) ? 'base' : $userID;
+		if (!array_key_exists($key, self::$instances)) {
+			self::$instances[$key] = new static($userID);
+		}
+		return self::$instances[$key];
+	}
 	/**
 	 * Constructor
 	 */
-	public function __construct(?int $userID = null)
+	protected function __construct(?int $userID = null)
 	{
 		$this->service_name = 'postmark';
 		$this->title = 'PostMark';
@@ -165,10 +176,12 @@
 		$result = $this->sendEmail($payload);
 
 		if ($result === true) {
+			error_log('================================ Email sent! ================================');
 			// Prevent default wp_mail from sending
 			add_filter('pre_wp_mail', '__return_true');
 			do_action('postmark_email_sent', $args, $payload);
 		} else {
+			error_log('=-======================[POSTMARK]Something went wrong... ================================');
 			// Log failure but allow fallback to default mail
 			do_action('postmark_email_failed', $args, $result);
 
@@ -262,7 +275,7 @@
 		}
 		try {
 			$response = $this->postRequest('email', $payload);
-
+			error_log('================================ POSTMARK RESPONSE: ================================'.print_r($response, true));
 			if (is_wp_error($response)) {
 				return $response;
 			}
@@ -418,9 +431,7 @@
 
 		// Clean up whitespace
 		$text = preg_replace('/\s+/', ' ', $text);
-		$text = trim($text);
-
-		return $text;
+		return trim($text);
 	}
 
 	/**

--
Gitblit v1.10.0