| @@ -8,8 +8,9 @@ | ||
| 8 | 8 | |
| 9 | 9 | use Extendify\AdminPageRouter; |
| 10 | 10 | use Extendify\Assist\Admin as AssistAdmin; |
| 11 | 11 | use Extendify\Agent\Admin as AgentAdmin; |
| 12 | +use Extendify\ComingSoon\Frontend as ComingSoonFrontend; | |
| 12 | 13 | use Extendify\Config; |
| 13 | 14 | use Extendify\Draft\Admin as DraftAdmin; |
| 14 | 15 | use Extendify\HelpCenter\Admin as HelpCenterAdmin; |
| 15 | 16 | use Extendify\Insights; |
| @@ -16,8 +17,16 @@ | ||
| 16 | 17 | use Extendify\Launch\Admin as LaunchAdmin; |
| 17 | 18 | use Extendify\AutoLaunch\Admin as AutoLaunchAdmin; |
| 18 | 19 | use Extendify\Library\Admin as LibraryAdmin; |
| 19 | 20 | use Extendify\Library\Frontend as LibraryFrontend; |
| 21 | +use Extendify\Mcp\Server as McpServer; | |
| 22 | +use Extendify\Mcp\OAuth\Metadata as McpMetadata; | |
| 23 | +use Extendify\Mcp\OAuth\Authorize as McpAuthorize; | |
| 24 | +use Extendify\Mcp\OAuth\TokenEndpoint as McpTokenEndpoint; | |
| 25 | +use Extendify\Mcp\OAuth\RegistrationEndpoint as McpRegistrationEndpoint; | |
| 26 | +use Extendify\Mcp\Profile as McpProfile; | |
| 27 | +use Extendify\Mcp\Lifecycle as McpLifecycle; | |
| 28 | +use Extendify\Mcp\Jobs as McpJobs; | |
| 20 | 29 | use Extendify\Agent\Frontend as AgentFrontend; |
| 21 | 30 | use Extendify\QuickEdit\Frontend as QuickEditFrontend; |
| 22 | 31 | use Extendify\PageCreator\Admin as PageCreatorAdmin; |
| 23 | 32 | use Extendify\PartnerData; |
| @@ -35,8 +44,9 @@ | ||
| 35 | 44 | use Extendify\Shared\Services\Import\ImagesImporter; |
| 36 | 45 | use Extendify\Shared\Services\PluginRedirectDisabler; |
| 37 | 46 | use Extendify\Shared\Services\PluginsActivation\SimplyBook; |
| 38 | 47 | use Extendify\Shared\Services\VersionMigrator; |
| 48 | +use Extendify\SiteVisibility; | |
| 39 | 49 | |
| 40 | 50 | if (!defined('EXTENDIFY_REQUIRED_CAPABILITY')) { |
| 41 | 51 | define('EXTENDIFY_REQUIRED_CAPABILITY', 'manage_options'); |
| 42 | 52 | } |
| @@ -126,9 +136,25 @@ | ||
| 126 | 136 | ResourceData::scheduleCache(); |
| 127 | 137 | NotificationData::scheduleCache(); |
| 128 | 138 | } |
| 129 | 139 | |
| 140 | + // A token request carries no session and would fail the capability check. | |
| 141 | + if (defined('EXTENDIFY_PARTNER_ID') && !PartnerData::setting('deactivated')) { | |
| 142 | + McpServer::register(); | |
| 143 | + McpMetadata::register(); | |
| 144 | + McpAuthorize::register(); | |
| 145 | + McpTokenEndpoint::register(); | |
| 146 | + McpRegistrationEndpoint::register(); | |
| 147 | + McpProfile::register(); | |
| 148 | + McpLifecycle::register(); | |
| 149 | + McpJobs::register(); | |
| 150 | + } | |
| 151 | + | |
| 130 | 152 | if (!current_user_can(EXTENDIFY_REQUIRED_CAPABILITY)) { |
| 153 | + if (!SiteVisibility::isPublished()) { | |
| 154 | + new ComingSoonFrontend(); | |
| 155 | + } | |
| 156 | + | |
| 131 | 157 | return; |
| 132 | 158 | } |
| 133 | 159 | |
| 134 | 160 | // The config class will collect information about the |