| | |
| | | |
| | | use JVBase\integrations\BlueSky; |
| | | use JVBase\managers\ErrorHandler; |
| | | use JVBase\managers\LoginManager; |
| | | use JVBase\managers\OperationQueue; |
| | | use JVBase\managers\DashboardManager; |
| | | use JVBase\managers\ReferralManager; |
| | |
| | | use JVBase\rest\routes\QueueRoutes; |
| | | use JVBase\rest\routes\ErrorRoutes; |
| | | use JVBase\rest\routes\FormRoutes; |
| | | use JVBase\rest\routes\LoginRoutes; |
| | | use JVBase\rest\routes\NewsRoutes; |
| | | use JVBase\rest\routes\ReferralRoutes; |
| | | use JVBase\rest\routes\MagicLinkRoutes; |
| | |
| | | 'gmb' => 'JVBase\integrations\GoogleMyBusiness', |
| | | 'cloudflare' => 'JVBase\integrations\Cloudflare', |
| | | 'umami' => 'JVBase\integrations\Umami', |
| | | 'postmark' => 'JVBase\integrations\PostMark', |
| | | ]; |
| | | |
| | | public static function getInstance():JVB |
| | |
| | | } |
| | | |
| | | $this->routes = [ |
| | | 'login' => new LoginRoutes(), |
| | | 'integrations' => new IntegrationsRoutes(), |
| | | ]; |
| | | if (jvbSiteUsesFeedBlock()) { |
| | | if (Features::forSite()->has('feed_block')) { |
| | | $this->routes['feed'] = new FeedRoutes(); |
| | | } |
| | | if (jvbSiteHasNotifications()) { |
| | | $this->managers['notifications'] = new NotificationManager(); |
| | | $this->routes['notifications'] = new NotificationsRoutes(); |
| | | } |
| | | if (jvbSiteUsesFeedBlock() || jvbSiteHasDashboard()) { |
| | | if (Features::forSite()->has('feed_block') || jvbSiteHasDashboard()) { |
| | | $this->routes['term'] = new TermRoutes(); |
| | | } |
| | | |
| | | $this->routes['queue'] = new QueueRoutes(); |
| | | $this->routes['settings']= new SettingsRoutes(); |
| | | $this->routes['upload'] = new UploadRoutes(); |
| | | if (jvbSiteHasDashboard()) { |
| | | $this->routes['upload'] = new UploadRoutes(); |
| | | $this->routes['settings']= new SettingsRoutes(); |
| | | $this->routes['queue'] = new QueueRoutes(); |
| | | $this->routes['error'] = new ErrorRoutes(); |
| | | $this->routes['admin'] = new AdminRoutes(); |
| | | $this->routes['content']= new ContentRoutes(); |
| | |
| | | |
| | | public function activate():void |
| | | { |
| | | error_log('Activate!'); |
| | | // Activate roles - will be properly initialized after post types are registered |
| | | $this->roles()->activate(); |
| | | } |
| | |
| | | |
| | | public function additionalActions():void |
| | | { |
| | | if (LoginManager::isLogin()) { |
| | | return; |
| | | } |
| | | $extras = apply_filters('jvbAdditionalActions', []); |
| | | $extras = array_filter($extras, function ($extra) { |
| | | return is_array($extra) && array_key_exists('button', $extra) && array_key_exists('content', $extra); |