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/Helcim.php | 24 +++++++++++++++++++++++-
1 files changed, 23 insertions(+), 1 deletions(-)
diff --git a/inc/integrations/Helcim.php b/inc/integrations/Helcim.php
index 3dd1400..7f2556d 100644
--- a/inc/integrations/Helcim.php
+++ b/inc/integrations/Helcim.php
@@ -40,7 +40,17 @@
'per_hour' => 1000
];
- public function __construct(?int $userID = 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 self($userID);
+ }
+ return self::$instances[$key];
+ }
+
+ protected function __construct(?int $userID = null)
{
$this->title = 'Helcim';
$this->icon = 'credit-card';
@@ -172,12 +182,24 @@
public function getAdditionalFields(?string $content_type = null):array
{
+ if ($content_type === 'customer') {
+ $array = $this->getCustomerFields();
+ return array_combine(
+ array_map(fn($k) => '_square_' . $k, array_keys($array)),
+ $array
+ );
+ }
return array_combine(
array_map(fn($k) => 'hc_' . $k, array_keys($this->getHelcimMeta($content_type))),
$this->getHelcimMeta($content_type)
);
}
+ protected function getCustomerFields():array
+ {
+ return [];
+ }
+
/**
* Get Helcim product meta fields by type.
*
--
Gitblit v1.10.0