From c68aefb847b09daa0697de7684d3451e2e68ce1e Mon Sep 17 00:00:00 2001
From: Jake Vanderwerf <get@jakevanderwerf.ca>
Date: Thu, 09 Jul 2026 23:10:23 +0000
Subject: [PATCH] =Refactor of Integrations.php to be a bit more useful with a suite of methods for create, update, delete back and forths for integrations where sharing is enabled. Also considering a single instance with a connect method to connect as the site (no user) vs connecting as an individual user - rather than recreating instances for every user.

---
 base/Site.php |   18 ++++++++++++++----
 1 files changed, 14 insertions(+), 4 deletions(-)

diff --git a/base/Site.php b/base/Site.php
index 2276b00..f6ecad0 100644
--- a/base/Site.php
+++ b/base/Site.php
@@ -44,6 +44,7 @@
 	 * @var bool $magic_link Whether users can login without a password
 	 */
 	protected static bool $magic_link = true;
+	protected static string $defaultRole = 'subscriber';
 	/**
 	 * @var bool $support Whether to implement the support ticket system
 	 */
@@ -129,7 +130,8 @@
 
 	public static function has(string $property):bool
 	{
-		return property_exists(self::class, $property) && self::${$property} === true;
+		$inst = self::getInstance();
+		return property_exists($inst, $property) && $inst::${$property} === true;
 	}
 
 	public static function hasAny(array $properties):bool
@@ -242,12 +244,20 @@
 		return self::$directory_plural ?? false;
 	}
 
-	public static function setDefaultReferralRole(string $role):void
+	public static function setReferralRole(string $role):void
 	{
-		self::$defaultReferralRole = $role;
+		self::$defaultReferralRole = jvbCheckBase($role);
 	}
-	public static function getDefaultReferralRole():string
+	public static function getReferralRole():string
 	{
 		return self::$defaultReferralRole;
 	}
+	public static function setDefaultRole(string $role):void
+	{
+		self::$defaultRole = jvbCheckBase($role);
+	}
+	public static function getDefaultRole():string
+	{
+		return self::$defaultRole;
+	}
 }

--
Gitblit v1.10.0