*/ class MapsPluginLoader implements IEventListener { public function __construct( protected IRequest $request, protected Config $talkConfig, protected IUserSession $userSession, ) { } public function handle(Event $event): void { if (!($event instanceof BeforeTemplateRenderedEvent)) { return; } if (!$event->isLoggedIn()) { return; } $user = $this->userSession->getUser(); if ($user instanceof IUser && $this->talkConfig->isDisabledForUser($user)) { return; } if (str_starts_with($this->request->getPathInfo(), '/apps/maps')) { Util::addScript('spreed', 'talk-collections'); Util::addScript('spreed', 'talk-maps'); } } }