| | |
| | | <?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')) { |
| | |
| | | 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 |
| | |
| | | // |
| | | // return $this->serviceMap[$service]::getInstance($userID); |
| | | // } |
| | | return is_null($userID) ? |
| | | $this->integrations[$service]??null : |
| | | (array_key_exists($service, $this->integrations) ? $this->serviceMap[$service]::getInstance($userID) : null); |
| | | $instance = $this->integrations[$service]??null; |
| | | if ($instance) { |
| | | $instance->switchUser($userID); |
| | | } |
| | | return $instance; |
| | | } |
| | | |
| | | public function userCanConnect(string $service, int $userID): bool |