resolver = $resolver; } /** * Resolve the upgrade state for this request. * * @return string One of UpgradeStateResolver::STATE_* constants. */ private function state() { $resolver = $this->resolver ? $this->resolver : new UpgradeStateResolver(); return $resolver->resolve(); } /** * Render tab content. * * @return void */ public function render() { if ( ! Capabilities::current_user_can_manage() ) { wp_die( esc_html__( 'You do not have permission to access MarginBeacon.', 'marginbeacon' ) ); } $set = ( new EntitlementService() )->resolve(); $tier = $set->tier(); $pro = $set->allows_pro_execution(); $state = $this->state(); if ( UpgradeStateResolver::STATE_DIRECT === $state ) { $this->render_direct(); return; } $is_free_only = UpgradeStateResolver::STATE_FREE_ONLY === $state; $is_installed = UpgradeStateResolver::STATE_PRO_INSTALLED_INACTIVE === $state; $is_not_entitled = UpgradeStateResolver::STATE_PRO_ACTIVE_NOT_ENTITLED === $state; $is_active = UpgradeStateResolver::STATE_PRO_ACTIVE === $state; $has_channel = ProMarketplace::has_url(); ?>

resolver ) )->render(); ?>