*/ class LoadSidebarListener implements IEventListener { public function __construct( private IInitialState $initialState, private IManager $shareManager, ) { } public function handle(Event $event): void { if (!($event instanceof LoadSidebar)) { return; } Util::addScript(Application::APP_ID, 'files_sharing_tab', 'files'); $appConfig = Server::get(IAppConfig::class); $gsConfig = Server::get(IConfig::class); $showFederatedToTrustedAsInternal = $gsConfig->isGlobalScaleEnabled() || $appConfig->getValueBool('files_sharing', ConfigLexicon::SHOW_FEDERATED_TO_TRUSTED_AS_INTERNAL); $showFederatedAsInternal = ($gsConfig->isGlobalScaleEnabled() && $gsConfig->onlyInternalFederation()) || $appConfig->getValueBool('files_sharing', ConfigLexicon::SHOW_FEDERATED_AS_INTERNAL); $showExternalSharing = $appConfig->getValueBool('files_sharing', 'outgoing_server2server_share_enabled', true) || $appConfig->getValueBool('core', 'shareapi_allow_links', true); $this->initialState->provideInitialState('showFederatedSharesAsInternal', $showFederatedAsInternal); $this->initialState->provideInitialState('showFederatedSharesToTrustedServersAsInternal', $showFederatedToTrustedAsInternal); $this->initialState->provideInitialState('showExternalSharing', $showExternalSharing); } }