Jake Vanderwerf
2026-07-12 c204185ae86a98994f80010abf35a190c9406739
JVBase.php
@@ -1,52 +1,52 @@
<?php
namespace JVBase;
use JVBase\blocks\CustomBlocks;
use JVBase\admin\SEOAdmin;
use JVBase\base\SchemaHelper;
use JVBase\base\Site;
use JVBase\blocks\CustomBlocks;
use JVBase\managers\AdminPages;
use JVBase\managers\ApprovalManager;
use JVBase\managers\Dashboard\DashboardManager;
use JVBase\managers\DirectoryManager;
use JVBase\managers\EmailManager;
use JVBase\managers\ErrorHandler;
use JVBase\managers\FavouritesManager;
use JVBase\managers\InvitationsManager;
use JVBase\managers\LoginManager;
use JVBase\managers\MagicLinkManager;
use JVBase\managers\NotificationManager;
use JVBase\managers\queue\Queue;
use JVBase\managers\Dashboard\DashboardManager;
use JVBase\managers\DirectoryManager;
use JVBase\managers\ReferralManager;
use JVBase\managers\RoleManager;
use JVBase\managers\SEO\render\SchemaOutput;
use JVBase\admin\SEOAdmin;
use JVBase\managers\AdminPages;
use JVBase\managers\NotificationManager;
use JVBase\managers\TaxonomyRelationships;
use JVBase\managers\UserTermsManager;
use JVBase\registrar\Registrar;
use JVBase\rest\routes\FeedRoutes;
use JVBase\rest\routes\FavouritesRoutes;
use JVBase\rest\routes\IntegrationsSquareRoutes;
use JVBase\rest\routes\IntegrationsHelcimRoutes;
use JVBase\rest\routes\NotificationsRoutes;
use JVBase\rest\routes\AdminRoutes;
use JVBase\rest\routes\ApprovalRoutes;
use JVBase\rest\routes\ContentRoutes;
use JVBase\rest\routes\TermRoutes;
use JVBase\rest\routes\UploadRoutes;
use JVBase\rest\routes\SettingsRoutes;
use JVBase\rest\routes\ContentTermsRoutes;
use JVBase\rest\routes\SEORoutes;
use JVBase\rest\routes\QueueRoutes;
use JVBase\rest\routes\ErrorRoutes;
use JVBase\rest\routes\FavouritesRoutes;
use JVBase\rest\routes\FeedRoutes;
use JVBase\rest\routes\FormRoutes;
use JVBase\rest\routes\IntegrationsHelcimRoutes;
use JVBase\rest\routes\IntegrationsRoutes;
use JVBase\rest\routes\IntegrationsSquareRoutes;
use JVBase\rest\routes\Invitations;
use JVBase\rest\routes\LoginRoutes;
use JVBase\rest\routes\NewsRoutes;
use JVBase\rest\routes\NotificationsRoutes;
use JVBase\rest\routes\OptionsRoutes;
use JVBase\rest\routes\QueueRoutes;
use JVBase\rest\routes\ReferralRoutes;
use JVBase\rest\routes\ResponseRoutes;
use JVBase\rest\routes\OptionsRoutes;
use JVBase\rest\routes\SEORoutes;
use JVBase\rest\routes\SettingsRoutes;
use JVBase\rest\routes\TermRoutes;
use JVBase\rest\routes\UploadRoutes;
use JVBase\rest\routes\VoteRoutes;
use JVBase\rest\routes\Invitations;
use JVBase\rest\routes\ApprovalRoutes;
use JVBase\rest\routes\AdminRoutes;
use JVBase\rest\routes\IntegrationsRoutes;
use JVBase\base\SchemaHelper;
use UserRoutes;
if (!defined('ABSPATH')) {
@@ -65,16 +65,16 @@
   protected CustomBlocks $customBlocks;
   protected array $serviceMap = [
      'maps' => 'JVBase\integrations\GoogleMaps',
      'square' => 'JVBase\integrations\Square',
      'facebook' => 'JVBase\integrations\Facebook',
      'helcim' => 'JVBase\integrations\Helcim',
      'instagram' => 'JVBase\integrations\Instagram',
      'bluesky' => 'JVBase\integrations\BlueSky',
      'gmb' => 'JVBase\integrations\GoogleMyBusiness',
      'cloudflare' => 'JVBase\integrations\Cloudflare',
      'umami' => 'JVBase\integrations\Umami',
      'postmark' => 'JVBase\integrations\PostMark',
      'maps' => 'JVBase\integrations\services\GoogleMaps',
      'square' => 'JVBase\integrations\services\Square',
      'facebook' => 'JVBase\integrations\services\Facebook',
      'helcim' => 'JVBase\integrations\services\Helcim',
      'instagram' => 'JVBase\integrations\services\Instagram',
      'bluesky' => 'JVBase\integrations\services\BlueSky',
      'gmb' => 'JVBase\integrations\services\GoogleMyBusiness',
      'cloudflare' => 'JVBase\integrations\services\Cloudflare',
      'umami' => 'JVBase\integrations\services\Umami',
      'postmark' => 'JVBase\integrations\services\PostMark',
   ];
   public static function getInstance(): JVB
@@ -86,7 +86,7 @@
   }
   public function __construct()
   private function __construct()
   {
      $this->customBlocks = new CustomBlocks();
      $this->managers = [
@@ -296,17 +296,22 @@
   public function connect(string $service, ?int $userID = null): mixed
   {
      if ($userID) {
         if (!$this->userCanConnect($service, $userID)) {
            return null;
         }
         if (!array_key_exists($service, $this->integrations)) {
            return null;
         }
         return $this->serviceMap[$service]::getInstance($userID);
//    if ($userID) {
//       if (!$this->userCanConnect($service, $userID)) {
//          return null;
//       }
//
//       if (!array_key_exists($service, $this->integrations)) {
//          return null;
//       }
//
//       return $this->serviceMap[$service]::getInstance($userID);
//    }
      $instance = $this->integrations[$service]??null;
      if ($instance) {
         $instance->switchUser($userID);
      }
      return (array_key_exists($service, $this->integrations)) ? $this->integrations[$service] : null;
      return $instance;
   }
   public function userCanConnect(string $service, int $userID): bool